为WebWorker设置正确的路径

Thu 22 March 2012
  • 把戏 tags:
  • heatcanvas
  • javascript published: true comments: true

WebWorker的路径通常是写在代码源文件中,而且这个路径并非其相对父js文件的相对路径,而似乎是相对页面的路径。所以指定一个正确的可随处部署的路径变得有些麻烦。昨天有人给HeatCanvas提了这个问题我才想到上网搜索了一下,有一个还算挺不错的办法。

写一个getPath函数,从document里找到父js的路径,拼到Worker的名字上。对heatcanvas.js这个文件来说就是:

[cc lang="javascript"]
HeatCanvas.getPath = function() {
var scriptTags = document.getElementsByTagName("script");
for (var i=0; i var src = scriptTags[i].src;
var pos = src.indexOf("heatcanvas.js");
if (pos > 0) {
return src.substring(0, pos);
}
}
return "";
};
[/cc]

因此现在HeatCanvas已经解决了这个路径问题,现在这个库应该更好用了。当然如果你改了我的文件名我就无话可说了。