我有一個Chrome擴展有一個設置頁面。在設置頁面中,我想要預覽和保存按鈕。我希望能夠將臨時選項對象傳遞給我的應用程序。我該怎麼做,以便我不必重寫APPLICATION兩次?如何將信息傳遞給html頁面,這次它應該訪問LocalStorage ['permanent_settings']和其他LocalStorage ['temporary_settings'],並使用該對象呈現內容作爲設置對象。此外,我希望我的代碼在本地執行,所以我不希望任何PHP等有條件加載JavaScript腳本
0
A
回答
2
您可以添加條件,以這種方法,它允許你動態地添加一個外部JavaScript文件:
loadExternalScriptFile = function(filename) {
var fileref = document.createElement("script");
if (fileref){
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
if (typeof fileref != "undefined")
document.getElementsByTagName("head")[0].appendChild(fileref);
}
}
//dynamically load and add this .js file
loadExternalScriptFile("myscript.js");
1
你應該抱着試試看在本地存儲讀取源爲好,以類似的方式:
// At startup, defaulting to permanent_settings
function onLoad() {
LocalStorage['read_from'] = 'permanent_settings';
// Other initialization work
// ...
}
// When pressing Save
function onSaveClick() {
LocalStorage['read_from'] = 'permanent_settings';
}
// When pressing Preview
function onPreviewClick() {
LocalStorage['read_from'] = 'temporary_settings';
}
// When accessing the settings, read their source
function getSettingForKey(var key) {
var source = LocalStorage['read_from'];
// It can be either permanent_settings, or temporary_settings
var settingsArray = LocalStorage[source];
return settingsArray[key];
}
+0
如果在退出時將read_from更改爲permanent_settings之前chrome崩潰了,該怎麼辦?我希望默認選項是permananent設置,並且可以選擇更改爲臨時設置。 – siemanko
0
您可以使用jQuery加載腳本,甚至當它的加載執行代碼。您甚至不必將代碼包裝在$(function(){ ... })
區塊中:
$.getScript(chrome.extension.getURL("myscript.js"), function() {
alert("myscript.js has finished loading");
});
相關問題
- 1. LABjs有條件地加載腳本
- 2. 有條件地加載腳本
- 3. 有條件的javascript加載
- 4. 加載腳本javascript
- 5. IE 11 window.open()的JavaScript腳本加載競爭條件問題
- 6. JavaScript獲取所有加載腳本
- 7. Javascript問題,flexslider腳本沒有加載
- 8. Javascript腳本多次加載
- 9. Javascript和腳本加載
- 10. JavaScript腳本未加載
- 11. 只有當條件滿足時才加載JavaScript腳本 - 不工作
- 12. 在加載所有腳本文件後觸發Javascript事件
- 13. 如何有條件地加載JavaScript
- 14. 有條件地加載JavaScript的資源
- 15. 在Wordpress中有條件加載javascript functions.php
- 16. 是否可以Require.js有條件地加載腳本?
- 17. 流星有條件地加載外部腳本
- 18. 有條件地在文檔結尾加載腳本
- 19. 有條件的WHERE條件SQL腳本
- 20. 有條件的腳本
- 21. 加載腳本的AJAX進度條
- 22. 腳本和加載文件
- 23. 腳本文件未加載
- 24. 如果條件負載外部JavaScript腳本
- 25. 加載腳本
- 26. 加載腳本
- 27. 調用基於JavaScript的PHP的條件時,庫頁腳加載
- 28. 加載JavaScript文件 - 條件級聯
- 29. 網頁未加載JavaScript腳本
- 30. 腳本SRC不加載JavaScript的角度
請提供更多詳細信息。也許你現有的一些代碼。目前還不清楚你有什麼問題。 – gilly3
如果Chrome在退出時將read_from更改爲permanent_settings之前崩潰,則插件在啓動時將默認爲此源。這樣,即使您沒有按保存或預覽,也可以從permanent_settings讀取隱含的行爲。有關詳細信息,請參閱編輯的答案 – luvieere