首页 > 其他分享 >ajax动态加载JS不执行的解决办法

ajax动态加载JS不执行的解决办法

时间:2023-07-28 23:14:08浏览次数:28  
标签:jsContained js ajax var JS regDetectJs 加载

// 第一步:匹配加载的页面中是否含有js
var regDetectJs = /<script(.|\n)*?>(.|\n|\r\n)*?<\/script>/ig;
var jsContained = ajaxLoadedData.match(regDetectJs);

// 第二步:如果包含js,则一段一段的取出js再加载执行
if(jsContained) {
	// 分段取出js正则
	var regGetJS = /<script(.|\n)*?>((.|\n|\r\n)*)?<\/script>/im;

	// 按顺序分段执行js
	var jsNums = jsContained.length;
	for (var i=0; i<jsNums; i++) {
		var jsSection = jsContained[i].match(regGetJS);

		if(jsSection[2]) {
			if(window.execScript) {
				// 给IE的特殊待遇
				window.execScript(jsSection[2]);
			} else {
				// 给其他大部分浏览器用的
				window.eval(jsSection[2]);
			}
		}
	}
}

  

标签:jsContained,js,ajax,var,JS,regDetectJs,加载
From: https://www.cnblogs.com/okeyl/p/17589094.html

相关文章

  • Vue3之ref取render形式组件jsx元素节点
    [2023年7月28日22:16:06]ref取render方式组件节点一开始注意到组件setup和render一起使用的情况,好奇怎么通过ref取到render中jsx里的节点,一开始试了以下的尝试,结果是undefined的:import{defineComponent,ref,onMounted}from"vue";exportdefault......
  • AJAX - 创建 XMLHttpRequest 对象
      AJAX-创建XMLHttpRequest对象AJAX(异步JavaScript和XML)是一种在Web应用程序中创建快速动态更新的技术。使用AJAX,Web应用程序可以异步地向服务器发送和接收数据,而无需刷新整个页面。AJAX广泛用于Web应用程序中,包括社交媒体,电子商务,在线游戏等等。XMLHttpRequest是A......
  • typeHandler解决JSONArray类型无法使数据入库的问题
     在java中,一个对象类往往会有很多用途,比如用于接口请求时的传参,或mapper入库时的传参,但请求接口需要的数据类型可能不能用于mapper插入数据库表。 例如在请求接口时,需要传递一个数组类型的字段,但数据库只能插入varchar类型,需要将数组类型的字段转为字符串类型。 可用typeH......
  • 【Mysql】处理Json
    Mysql中处理JsonJSON_EXTRACTselectjson_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");返回结果"13240133388"selectjson_extract('{"name":"Zhaim",......
  • JSON.toJSONString将key变成了首字母小写的问题
    在一些请求接口传参时,往往需要把请求参数转为JSON字符串,但JSON.toJSONString会默认将key的首字母变小写的问题importlombok.Data;@Datapublicclasstest{privateLongId;}Testparams=newTest();params.setId(11);JSON.toJSONString(params);System.out.pri......
  • json格式
    {"positive_integer_range":{"url":"http://apis.juhe.cn/simpleWeather/query","method":"get","code_massage":"查询成功","params":{......
  • 日期时间操作-moment.js
    文档地址:http://momentjs.cn/引用:在package.json的dependencies中添加"moment-mini": "^2.24.0"引入:import moment from 'moment-mini'常用到的方法:moment().toDate() 同 new Date()moment#valueOf 简单地输出自 Unix 纪元以来的毫秒数,就像 Date#valueOf 一样。当前时......
  • 移动端H5适配方案 (flexible.js +rem)
    一、flexible.jshttps://github.com/amfe/lib-flexible默认把当前屏幕划分10等份二、vscodecssrem插件(把px转换为rem)可以设置font-size大小easyless(保存.less文件后,自动生成对应的.css文件)三、示例//index.less//当屏幕超过750px时,强制把html字体大小改为75px......
  • Three.js使用InstancedMesh实现性能优化
    1.引言有这么一种场景:需要渲染一座桥,桥有很多桥柱,桥柱除了位置与倾斜角度不完全相同外,其他均相同,由于桥柱数量很大,使用three.js绘制较为卡顿,如何优化?注意,要求后续能选中某个桥柱2.概念2.1合并几何体three.js官方教程里提到,大量对象的优化-three.jsmanual(threejs.org),......
  • Cesium学习笔记5-加载城市建筑物火柴盒模型
    将shp文件转换为cesium可以加载的geojson文件,在线转换工具,使用cesium的GeoJsonDataSource接口类,根据建筑物高度上色加载geojson文件。注意shp文件包含_Height字段。代码如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"/><metahttp-equiv=&......