如果我有一个javascript src,比如
<script src="http://domain.com/js/script.js">
我可以在它的末尾添加更多的值吗
<script src="http://domain.com/js/script.js?state=1">
并在该javascript中获取状态??
这个想法来自于一种情况,我必须获得客户端解析并将其保存到会话中,但我不能通过php获得它,所以我必须通过javascript获得它,但我不想显示从源代码裸露的脚本。
我认为这是可能的,因为我看到许多来源都有这样的链接!
发布于 2013-07-09 00:32:09
你就不能做这样的事吗?
<script>
var state = 1;
</script>
<script src="http://domain.com/js/script.js">
发布于 2013-07-09 01:49:51
以防有人想要实际问题的实际答案,而不是求助于全局变量和两个脚本标记:
<script src="http://example.com/js/script.js?state=1"></script>
Script.js内部:
(function(){
var myTags = document.getElementsByTagName("script");
var src = myTags[myTags.length-1].src;
var state = unescape(src).split("state=")[1].split("&")[0];
alert(state);
}());
如果需要传递大量内容,可以使用通用的queryString解析器将脚本的queryString转换为对象。
发布于 2013-07-09 00:38:20
在调用JS之前先给变量就行了。但是如果你不想用vars污染Global,你可以尝试PHP方法:
创建一个PHP文件,在头部声明它将是一个javascript,用$_GET
抓取它的值并输出格式化的js文件。
<script src="http://domain.com/js/script.php?state=1" />
<?php
// We'll be outputting a JS
header('Content-type: text/javascript');
$phpState = $_GET['state'];
?>
function someCommonJS(){
var myState = "<?=$phpState;?>"; /*printing php var into js*/
}
<?php
/* some more php*/
?>
/*some more js*/
这样,文件就像你想要的那样出现了,而用户不能看到你所有的if else
,如果通过js可以看到的。
https://stackoverflow.com/questions/17531568
复制相似问题