有条件加载javascript脚本
Conditionally loading javascript script
我有一个chrome扩展,有一个设置页面。在设置页面,我想有预览和保存按钮。我希望能够传递临时选项对象到我的应用程序。我怎样才能做到这一点,使我不必重写应用程序两次?如何传递信息到html页面,这次它应该访问LocalStorage['permanent_settings']和其他LocalStorage['temporary_settings'],并使用该对象作为设置对象呈现内容。我也希望我的代码在本地执行,所以我不想要任何PHP等
你可以将你的条件添加到这个方法中,它允许你动态地添加一个外部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");
您也应该尝试将读源保存在本地存储中,方法类似于:
// 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];
}
您可以使用jQuery加载脚本,甚至在加载时执行代码。您甚至不必将代码包装在$(function(){ ... })
块中:
$.getScript(chrome.extension.getURL("myscript.js"), function() {
alert("myscript.js has finished loading");
});
相关文章:
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 将图像从后台页面传递给内容脚本javascript
- 按键上的 Indesign 脚本 (javascript)
- 谷歌脚本javascript中的谷歌函数=importhtml解析问题
- 脚本 JavaScript 宽度忽略了 iPhone 6.为什么
- ASP.NET MVC Razor 渲染脚本 JavaScript
- 预热脚本 JavaScript
- 工作时间脚本 javascript
- 延迟或阻止加载,直到 PHP 脚本/JavaScript 完全执行
- 在独立脚本上运行的函数在另一个脚本Javascript node.js上不起作用
- 跨域脚本javascript请求
- 直接从参考中学习ecma脚本/javascript
- 谷歌脚本/javascript |为什么getRange返回2D数组
- 通过内容脚本 - javascript 将文本动态注入 facebook 的共享对话框
- 我需要以下脚本(JavaScript)的帮助
- 从c#页面方法调用客户端脚本(javascript,jquery等)
- 链接打开时运行脚本- Javascript
- 如何从外部脚本JavaScript回调返回
- 瞄准类内部的类,启动脚本- Javascript/jQuery
- Adobe illustrator脚本(JavaScript)初学者问题