Bookmarklet执行多个任务
问题描述:
我一直在整天围绕这个应用程序进行修补,并且遇到了一些困难。所以基本上,小书签需要允许用户使用来自多个JavaScript文件的大量函数,尽管用户使用的所有函数都是从一个文件中调用的。基本上它包含了执行某个功能所需的全部文件。它使用jQuery,我发现在你的书签上运行jQuery是非常困难的。Bookmarklet执行多个任务
我的问题是:如何将多个JavaScript代码文件加载到您的Bookmarklet中?
您的确是
Emil Hajric。
答
你可以嵌入脚本的书签正在 f.ex文档,如果您的书签是一样的东西
javascript:void((function(){var e=document.createElement('script');
e.setAttribute('type','text/javascript');
e.setAttribute('charset','UTF-8');
e.setAttribute('src','http://yoursite/bookmarklet.js');
document.body.appendChild(e)})());
您可以根据需要添加尽可能多的脚本元素,尝试添加的jQuery在那里。
答
如果您必须使用书签运行多个JavaScript文件,我建议在书签中创建一个函数来导入文件。
该函数可以写成
var importJs=function(jsUrl){
var s=document.createElement("script");
s.setAttribute("src",jsUrl);
document.body.appendChild(s);
};
为了实际的书签使用,只要声明函数,然后调用一次为每个文件必须导入。
javascript:(function(){
var importJs=function(jsUrl){
var s=document.createElement("script");
s.setAttribute("src",jsUrl);
document.body.appendChild(s);
};
importJs("http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js");
importJs("http://your.domain.com/codeThatUsesJQuery.js");
})();
(注:实际使用这个作为一个书签,有必要加入所有的行成一条线。)
我不认为这是最好的地方的jQuery在`结束body`。 – nyuszika7h 2010-12-04 15:07:11