JavaScript-如何检索src="脚本内容中的url
JavaScript - how to retrieve the src="" url from the script contents?
可能重复:
JavaScript查询字符串
我想访问附加到我的脚本url的查询变量。例如:
<script type="text/javascript" src="http://mysite.com/app.js?var1=value1&var2=value2"></script>
在app.js中,如何访问var1和var2值?
本页描述了获取这些值的方法:
<script type="text/javascript"
src="scriptaculous.js?load=effects,builder"></script>
和javascript:
function getJSvars(script_name, var_name, if_empty) {
var script_elements = document.getElementsByTagName(‘script’);
if(if_empty == null) {
var if_empty = ”;
}
for (a = 0; a < script_elements.length; a++) {
var source_string = script_elements[a].src;
if(source_string.indexOf(script_name)>=0) {
var_name = var_name.replace(/['[]/,"'''[").replace(/[']]/,"''']");
var regex_string = new RegExp("[''?&]"+var_name+"=([^&#]*)");
var parsed_vars = regex_string.exec(source_string);
if(parsed_vars == null) { return if_empty; }
else { return parsed_vars[1]; }
}
}
}
解析src
属性,大致如下:
var src=document.getELementById("script-id").getAttribute("src");
var query=src.substring(src.indexOf("?"));
var query_vals=query.split("&");
var queries={};
for (var i=0;i<query_vals.length;i++) {
var name_val=query_vals.split("=");
queries[name_val[0]]=name_val[1];
}
console.log(queries.var1, queries.var2);
然而,有一些库,如url.js,更适合这样做,并且在url编码等方面更健壮。
相关文章:
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- 在<script src=“"></脚本>标签
- 显示“<script src='some.js'></脚本>"在Html文档中
- "npm运行构建:css"不能工作,而当我自己运行脚本时是可以的
- 多个“;脚本调用"在SINGLE”内$(文档).ready()”;
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- "未终止的模板文字“;当文字包含脚本标记时出现语法错误
- "停止运行脚本错误“;在IE8中拥有大量收藏
- 避免使用神秘的javascript"脚本错误”;使用cdn
- "$"未定义;jquery在<头部>;没有冲突的脚本或库
- "脏的“;函数,需要脚本将触发延迟到加载数据之后
- 避免“;无响应脚本"foreach循环中的消息
- MVC 4无法定位“;脚本"文件夹
- 避免“;是否停止脚本"IE中的对话框
- 如何制作frisby.js脚本"暂停”;在api的链式执行期间
- 谷歌脚本:"正则表达式过于复杂"
- 如何修复“;是否停止运行此脚本"提醒注意此代码