2009-04-11 121 views
1

我一直在整天圍繞這個應用程序進行修補,並且遇到了一些困難。所以基本上,小書籤需要允許用戶使用來自多個JavaScript文件的大量函數,儘管用戶使用的所有函數都是從一個文件中調用的。基本上它包含了執行某個功能所需的全部文件。它使用jQuery,我發現在你的書籤上運行jQuery是非常困難的。Bookmarklet執行多個任務

我的問題是:如何將多個JavaScript代碼文件加載到您的Bookmarklet中?

您的確是
Emil Hajric。

回答

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

如果您必須使用書籤運行多個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"); 
})(); 

(注:實際使用這個作爲一個書籤,有必要加入所有的行成一條線。)

+0

我不認爲這是最好的地方的jQuery在`結束body`。 – nyuszika7h 2010-12-04 15:07:11