javascript - Javascript 中是否有与 PHP 中的 __FILE__ 变量类似的东西?

标签 javascript variables

非常简单,我有一个包含在许多不同站点上的 JS 脚本,需要向它传递参数。

如果这些可以通过 URL 传递,那将会很有用,例如:

<script type="text/javascript" 
    src="http://path.to/script.js?var1=something&var2=somethingelse"></script>

是的,您仍然可以在单独的脚本标记中预填充变量,但这有点困惑并且不太容易传递:

<script type="text/javascript">var1=something; var2=somethingelse</script>
<script type="text/javascript" src="http://path.to/script.js"></script>

最佳答案

是的。额外的好处:我将查询字符串参数转换为更有用的 javascript 哈希。

HTML:

<script src="script.js?var1=something&var2=somethingelse" type="text/javascript"></script>

script.js:

var scriptSource = (function() {
    var scripts = document.getElementsByTagName('script');
    return scripts[scripts.length - 1].src
}());

var params = parseQueryString(scriptSource.split('?')[1]);

params.var1; // 'something'
params.var2; // 'somethingelse'

// Utility function to convert "a=b&c=d" into { a:'b', c:'d' }
function parseQueryString(queryString) {
    var params = {};
    if (queryString) {
        var keyValues = queryString.split('&');
        for (var i=0; i < keyValues.length; i++) {
            var pair = keyValues[i].split('=');
            params[pair[0]] = pair[1];
        }
    }
    return params;
}

关于javascript - Javascript 中是否有与 PHP 中的 __FILE__ 变量类似的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203933/

相关文章:

javascript - 控制 <nav> 元素的位置

javascript - 具有不同数量数据集的 Google Charts 中的多行

c# - FileInfo 变量中的图像大小

c# - 为什么接口(interface)变量实例化是可能的?

c++ - istringstream 不在变量中存储任何内容

javascript - Express Session 不会取消设置变量

javascript - 使用 JS 从 <a> 链接获取 ID 或 VALUE 或 NAME

javascript - jquery中的滚动动态 ListView

javascript - 如何防止 JavaScript 函数计算分配给字符串变量的参数?

javascript - 组合多个变量的 jquery(元素设置为 vars)