多HTML页面引用同一个JS文件传递参数的问题

sysmaster 2018-03-05 02:06:01
A页面html页面中代码:
<script src="XXX.js?para=1234"></script>

B页面html页面中代码:
<script src="XXX.js?para=abcd"></script>



XXX.js代码:

$(function(){

//这儿如何根据被包含的页面获取不同的参数?

//如使用<script ID=""> 方式则这儿ID不好写

//如使用document.getscript() 则打开A页面没问题,再打开B也没问题,再切回A出错(使用easy ui 的TAB切换)

});
...全文
904 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2018-03-06
  • 打赏
  • 举报
回复
不要放domready,直接获取var scripts = document.getElementsByTagName('script');,获取最后一个script就是当前的script,自己分析src获取参数

Web开发学习资料推荐
JavaScript apply与call的用法及区别
javascript客户端图片预览
sysmaster 2018-03-06
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
XXX.js代码:

(function () {
	var para = $("script").eq(-1).attr("src").replace(/.+\?para=/i,"");
	$(function(){
		alert(para);
	});
})();
这方法与 var scripts = document.getElementsByTagName('script'); 是一样的,不能解决问题: 1、XX.js被引用时不一定是最后一个文件(位置不固定); 2、就算人为的放在最后一个,当打开多个tab时(每个tab加载一个HTML文件),初次打开是正确的,但tab打开后再切换就全错了
天际的海浪 2018-03-06
  • 打赏
  • 举报
回复
引用 3 楼 sysmaster 的回复:
[quote=引用 2 楼 jslang 的回复:] XXX.js代码:

(function () {
	var para = $("script").eq(-1).attr("src").replace(/.+\?para=/i,"");
	$(function(){
		alert(para);
	});
})();
这方法与 var scripts = document.getElementsByTagName('script'); 是一样的,不能解决问题: 1、XX.js被引用时不一定是最后一个文件(位置不固定); 2、就算人为的放在最后一个,当打开多个tab时(每个tab加载一个HTML文件),初次打开是正确的,但tab打开后再切换就全错了[/quote] 你测试了没有。 非事件中的js代码是在页面加载阶段从上到下一边加载一边执行的, 只要是在直接执行的(非事件中的)js代码中获取当前页面最后一个script,就是当前代码所在的script
wcwtitxu 2018-03-06
  • 打赏
  • 举报
回复

var currentScript = document.currentScript || document.scripts[document.scripts.length-1];
$(function () {
    var para = (currentScript.src.match(/[?&]para=([^&]*)/i) || ["", ""])[1];
    alert(para)
});
wcwtitxu 2018-03-06
  • 打赏
  • 举报
回复
就是 currentScript 要在 $(function() { .... }) 外面先获取

var currentScript = document.currentScript || document.scripts[document.scripts.length-1];
$(function () {
    var para = (currentScript.src.replace(/[?&]para=([^&]*)/i) || ["", ""])[1];
    alert(para)
});
qq_35269473 2018-03-06
  • 打赏
  • 举报
回复
window.onload=function(){ var scripts = document.scripts; var idnum=""; for(var i=0;i<scripts.length;i++){ var src=scripts[i].src; if(src.match(/main.js/g)){ //匹配指定js文件 idnum=src.match(/\?para=[a-zA-z0-9]+/g); //获取参数,正则表达式自己写 } } console.log(idnum); }
天际的海浪 2018-03-05
  • 打赏
  • 举报
回复
XXX.js代码:

(function () {
	var para = $("script").eq(-1).attr("src").replace(/.+\?para=/i,"");
	$(function(){
		alert(para);
	});
})();
qq_35269473 2018-03-05
  • 打赏
  • 举报
回复
一、网页设计与策划01 网页与网站的概念02 网页核心技术(HTML/CSS/JAVASCRIPT)简介03 什么是HTML04 什么是CSS05 什么是JavaScript06 网页的设计流程07 HTML5概述、浏览器及内核08 编写第一个HTML页面09 HTML页面基本结构10 章节练习二、网页的基本实现(HTML标签)01 HTML基本语法02 标签及属性03 标签04 标题标签05 段落标签06 水平分隔线标签07 换行标签08 文本的格式化标签09 特殊字符标签10 图像标签14 相对路径与绝对路径11 章节练习-《清平乐》12 章节练习-《李清照简介》13 章节练习-《家电排行》15 章节练习-《百度网简介》16 超级链接标签17 锚点链接18 影像地图19 《table》表格标签20 无序列表标签21 有序列表标签22 定义列表标签23 章节练习-《工资明细》24 章节练习-《我的电脑》25 章节练习-《在线考试》三、层叠样式表01 CSS简介02 CSS样式规则03 CSS样式的调用方法04 标签选择器05 类选择器06 ID选择器07 标签指定式选择器08 包含(后代)选择器09 群组选择器10 通配符选择器11 属性选择器12 关系选择器13 链接伪类选择器四、样式属性01 字体属性02 文本属性03 阴影效果04 对象内溢出文本05 背景设置06 定义列表的样式五、盒模型网页布局01 初识盒子模型02 边框属性(border)03 边距属性(padding与margin)04 圆角边框05 阴影效果06 浮动属性(float)07 元素定位(position)08 溢出属性(overflow)

87,838

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧