多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切换)

});
...全文
1027 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不要放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
  • 打赏
  • 举报
回复
本实践项目深入研究了基于C#编程环境与Halcon图像处理工具包的条码检测技术实现。该原型系统具备静态图像解析与动态视频分析双重功能,通过具体案例展示了人工智能技术在自动化数据采集领域的集成方案。 C#作为微软研发的面向对象编程语言,在Windows生态系统中占据重要地位。其语法体系清晰规范,配合.NET框架提供的完备类库支持,能够有效构建各类企业级应用解决方案。在计算机视觉技术体系中,条码识别作为关键分支,通过机器自动解析商品编码信息,为仓储管理、物流追踪等业务场景提供技术支持。 Halcon工具包集成了工业级图像处理算法,其条码识别模块支持EAN-13、Code128、QR码等多种国际标准格式。通过合理配置检测算子参数,可在C#环境中实现高精度条码定位与解码功能。项目同时引入AForge.NET开源框架的视频处理组件,其中Video.DirectShow模块实现了对摄像设备的直接访问控制。 系统架构包含以下核心模块: 1. Halcon接口封装层:完成图像处理功能的跨平台调用 2. 视频采集模块:基于AForge框架实现实时视频流获取 3. 静态图像分析单元:处理预存图像文件的条码识别 4. 动态视频解析单元:实现实时视频流的连续帧分析 5. 主控程序:协调各模块工作流程 系统运行时可选择图像文件输入或实时视频采集两种工作模式。识别过程中将自动标注检测区域,并输出解码后的标准条码数据。该技术方案为零售业自动化管理、智能仓储系统等应用场景提供了可靠的技术实现路径,对拓展计算机视觉技术的实际应用具有重要参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
Java内存泄漏发现技术研究.pdf内容概要:本文围绕Java内存泄漏的发现技术展开研究,针对现有研究多集中于泄漏发生后的诊断与修复,而缺乏对泄漏现象早期发现方法的不足,提出了一套结合动态与静态分析的综合解决方案。动态方面,设计了一种面向泄漏的单元测试生成方法,通过识别高风险泄漏模块并生成具有泄漏检测能力的单元测试,实现早期泄漏发现;静态方面,提出基于模式的检测方法,重点识别因错误使用WeakHashMap等弱引用结构导致的内存泄漏,通过静态扫描源代码提前发现潜在缺陷。系统基于JUnit、CodePro Analytix和Soot等工具实现,实验验证了其在JDK等开源项目中发现已知泄漏缺陷的能力。; 适合人群:具备一定Java编程基础,从事软件开发、测试或质量保障工作1-3年的研发人员,以及对程序分析、内存管理感兴趣的研究生或技术人员。; 使用场景及目标:①帮助开发者在编码和测试阶段主动发现潜在内存泄漏,提升软件健壮性;②为构建自动化内存泄漏检测工具链提供理论与实践参考;③深入理解Java内存泄漏的常见模式(如WeakHashMap误用)及对应的动态测试生成与静态分析技术。; 阅读建议:建议结合Soot、JUnit等工具的实际操作进行学习,重点关注第三章和第四章提出的三类泄漏模块识别算法与基于模式的静态检测流程,并通过复现实验加深对溢出分析、指向分析等底层技术的理解。
本方案提供一套完整的锂离子电池健康状态评估系统,采用Python编程语言结合Jupyter交互式开发环境与MATLAB数值计算平台进行协同开发。该技术框架适用于高等教育阶段的毕业设计课题、专业课程实践任务以及工程研发项目。 系统核心算法基于多参数退化模型,通过分析电池循环充放电过程中的电压曲线特性、内阻变化趋势和容量衰减规律,构建健康状态评估指标体系。具体实现包含特征参数提取模块、容量回归预测模型和健康度评估单元三个主要组成部分。特征提取模块采用滑动窗口法处理时序数据,运用小波变换消除测量噪声;预测模型集成支持向量回归与高斯过程回归方法,通过交叉验证优化超参数;评估单元引入模糊逻辑判断机制,输出健康状态百分制评分。 开发过程中采用模块化架构设计,数据预处理、特征工程、模型训练与验证等环节均实现独立封装。代码结构遵循工程规范,配备完整注释文档和单元测试案例。经严格验证,该系统在标准数据集上的评估误差控制在3%以内,满足工业应用精度要求。 本方案提供的实现代码可作为研究基础,支持进一步功能扩展与性能优化,包括但不限于引入深度学习网络结构、增加多温度工况适配、开发在线更新机制等改进方向。所有核心函数均采用可配置参数设计,便于根据具体应用场景调整算法性能。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

87,994

社区成员

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

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