ajax虽然很方便,提升了我们的交互体验,但是它也有可恨之处,就是ajax请求得到的数据中如果包含脚本代码,比如说请求得到的是一块html内容,我们把这块html内容插入到网页中的某个地方,但是其中明明存在的脚本却不能得以运行,如果你听不懂我在说什么,说明你还不懂ajax或者用得少没遇到这种现象。通常来讲,页面中包含的脚本形式无非两种:

第一种:

var _hmt = _hmt || [];

(function() {

var hm = document.createElement("script");

hm.src = "//hm.baidu.com/hm.js?d9369436322d94b2213525fa8711e642";

var s = document.getElementById("script");

s.appendChild(hm);

})();

第二种:

但是他们都不执行,这该如何是好?为了解决这个千古难题~我专门写了个函数攻破这个瓶颈!!!使得无论如何怎么ajax,效果都跟刷新页面也一样,所有该有的script执行环境都有了。函数如下:

function executeScript(html){

var reg = /

var htmlBlock = html.split("<\/script>");

var blocks,srcBlock,script;

var scriptContent=document.getElementById("script")||document.body;

for (var i in htmlBlock){

if (blocks = htmlBlock[i].match(reg)){

var matchAll=blocks[0];

var srcReg=/src=[\'\"](.*?)[\'\"]/i;

if(srcBlock=matchAll.match(srcReg)){

script=document.createElement("script");

script.src=srcBlock[1];

scriptContent.appendChild(script);

}else{

var code = blocks[1].replace(/

ajax获取的数据中包含html代码,执行ajax返回数据中包含的script脚本代码相关推荐

  1. Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标

    *8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...

  2. 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决

    关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决 参考文章: (1)关于Laravel中使用response()方法调用json()返回数据un ...

  3. 【iMessage苹果推信家庭推】位置推通过苹果实现iMessage群发的Apple script脚本代码如下: tell application “Messages” set csvDatator

    推荐内容IMESSGAE相关 作者✈️@IMEAE推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者✈️@IMEAE推荐内容 1.家庭推内容 *** 点击即可查看作者要求 ...

  4. spring返回数据使用ajax,【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中...

    问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...

  5. python获取json中的某个值_json文件返回数据中提取数据的方法(JSON数据取其中某一个值的方法)...

    比如下面的案例是,取店铺名称 接口返回数据如下:{"Code":0,"Msg":"ok","Data":{"S ...

  6. ajax调用后台java方法,jquery ajax再次封装,前台调用后台java方法直接返回数据

    一,前台js部分代码 /** * bean参数格式:类全限定名.方法名  opt参数格式:键值对  handleResponse:会function类型参数包含一个参数data,为后台返回json数据 ...

  7. 使用charles修改服务器返回数据,charles_01_打断点修改接口请求返回数据

    前言 测试过程中,为了模拟某场景测试,经常需要修改接口请求或者返回数据.可通过抓包工具打断点,实现模拟测试场景.常用的抓包工具charles和fiddler均可打断点mock数据.由于小编安装了cha ...

  8. 关于使用Java后台导入excel文件,读取数据后,更新数据库,并返回数据给到前端的相关问题总结

    在之前的项目中,使用到了Java后台读取excel文件数据的功能点,本想着该功能点已经做过了,这一类的应该都大差不离,不过在刚结束的一个项目中,现实给我深深的上了一课,特此编写此片博客,以作记录,并给 ...

  9. maxN - 返回数组中N个最大元素 minN - 返回数组中N个最小元素

    从提供的数组中返回 n 个最小元素.如果 n 大于或等于提供的数组长度,则返回原数组(按降序排列). 结合使用Array.sort() 与展开操作符(...) ,创建一个数组的浅克隆,并按降序排列. ...

最新文章

  1. sqlite 统计每张表的记录数_Excel单页式人事管理表,档案记录,自带查询统计,简单实用...
  2. 国内开源社区巨作AspectCore-Framework入门
  3. ESP8266 wifi钓鱼
  4. MFCWinInet学习
  5. ?php echo $this_php如何使用echo输出常量+变量?
  6. 数学公式【(1+1+2+1+2+3+1+2+3+4。。。)⇒n*(n+1)*(n+2)/6】
  7. MySql数据类型分析(字符类型) Part4
  8. Apache RewriteCond on HTTP_COOKIE
  9. Matlab调用系统命令行利用Internet Download Manager(IDM)实现批量下载
  10. 试题 基础练习 圆的面积
  11. 详解语言模型NGram及困惑度Perplexity
  12. php的优秀案例,单页Web设计优秀案例_php
  13. HostGator 評價 – 優異的運行時間與支持一鍵安裝 WordPress,內含 4 折 60% 折扣優惠購買連結! - TechMoon 科技月球...
  14. python Deformation Transfer for Triangle Meshes
  15. apache 在windows下无法启动的一个错误
  16. 这是一篇理工男写的口红科普文
  17. 人脸识别之insightface开源代码使用:训练、验证、测试(3)
  18. 侯捷老师整理||IT专业术语中英对照表
  19. 构建《安全经济优质型电网》与实施电网经济运行
  20. 品牌笔记本正规与非正规维修上的差别

热门文章

  1. 什么是计算机立体化教程,全国计算机等级考试立体化应试教程
  2. vim 删除每行前/后n个字符
  3. 个体户如何注册和认证自己的微信小程序
  4. 从gRPC的重试策略说起
  5. background:rgba()
  6. idea在线激活 16
  7. android 麻将布局,android麻将小项目1:第一天的一些收获
  8. 精诚探索,极客归来!百度安全打造全球首个元宇宙安全极客大会,共筑 AI 安全新防线...
  9. vue小项目整理—main.js(一)
  10. 信息安全系统设计基础期中总结