访问js文件URL中的参数

时间:2010-09-22 19:41:22

标签: javascript

如何访问js文件中的模块:

<script type="text/javascript" src="script.js?modules=test,cookie"></script>

4 个答案:

答案 0 :(得分:2)

为您的脚本标记提供ID

<script type="text/javascript" src="script.js?modules=test,cookie" id='YOURID'></script>

然后在你的js文件中使用:

jsSrc  = document.getElementById("YOURID").src;
var jsQry = jsSrc.substr(jsSrc.indexOf("?"));

答案 1 :(得分:1)

script.js应该是一个具有服务器端逻辑的文件,根据输入将js模块作为响应发送。但我不推荐这种方法(你错过了缓存)。

将模块放入单独的文件中。

(或合并它们以便更快下载)

答案 2 :(得分:1)

一种超级hacky的方法是给你的script标记一个id属性,然后从脚本本身访问它,拉出并解析src属性:)

<script id="myscript" src="script.js?modules=a,b"></script>

在jquery中你可以做到:

$(function(){
    var modules = $('#myscript').attr('src').split('=')[1].split(',');
});
像我说的那样,超级hacky,但可以工作!

答案 3 :(得分:1)

假设你的意思是:

  

如何在JS中读取用于加载JS文件的查询字符串?

然后最可靠的方法是生成JS服务器端并以这种方式包含数据。

例如:

<?php
    header('Content-Type: application/javascript');
    echo 'var modules = ' . json_encode($_GET['modules']);
?>

一个不太可靠但完全是客户端的方法是找到文档中的最后一个脚本元素并解析URI。

var scripts = document.getElementsByTagName('script');
var myScript = scripts[scripts.length - 1];
var uri = myScript.src;
// and so on