您可以将键值对传递给JavaScript文件,如下所示:
<script type="text/javascript" src="http://www.example.com/script.js?key=value"></script>
Run Code Online (Sandbox Code Playgroud)
scriptaculous使用该技术(参见第54行):
<script type="text/javascript" src="scriptaculous.js?load=effects,dragdrop">
</script>
Run Code Online (Sandbox Code Playgroud)
你可以通过检查script页面上元素的来源来实现这一点,我给你一个框架独立的功能:
function getScriptVariable(scriptName, key) {
var scripts = document.getElementsByTagName('script'),
n = scripts.length, scriptSource, i, r;
for (i = 0; i < n; i++) {
scriptSource = scripts[i].src;
if(scriptSource.indexOf(scriptName)>=0) {
r = new RegExp("[\\?&]"+key+"=([^&#]*)");
var keyValues = r.exec(scriptSource);
return keyValues[1];
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以按照你想要的方式嵌入一个脚本:
<script type="text/javascript" src="myScript.js?myKey=myValue">
</script>
Run Code Online (Sandbox Code Playgroud)
并以这种方式使用上述功能:
var value = getScriptVariable('myScript.js', 'myKey'); // "myValue"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2067 次 |
| 最近记录: |