Bookmarklet执行多项任务

时间:2009-04-11 00:14:20

标签: javascript jquery bookmarklet

我整天都在修补这个应用程序并且遇到了一些困难。因此,基本上书签需要允许用户使用来自多个JavaScript文件的许多函数,尽管用户将使用的所有函数都是从一个文件调用的。基本上它包括所有必要的文件以执行某个功能。它使用jQuery,我发现在你的书签上运行jQuery真的很难。

我的问题是:如何将多个javascript代码文件加载到Bookmarklet中?

你真的, Emil Hajric。

2 个答案:

答案 0 :(得分:1)

您可以将脚本嵌入到书签正在处理的文档中 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。

答案 1 :(得分:1)

如果你必须使用书签运行几个JavaScript文件,我建议在书签中创建一个函数来导入文件。

该功能可以写成

var importJs=function(jsUrl){
  var s=document.createElement("script");
  s.setAttribute("src",jsUrl);
  document.body.appendChild(s);
};

为了在bookmarklet中实际使用,只需声明该函数,然后为每个必须导入的文件调用一次。

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");
})();

(注意:要将其实际用作书签,必须将所有行连接成一行。)