让innerHTML的脚本也可以运行起来
最近在脑子一直在想pjblog重构的问题.当然重构前,必须把所有需要做的东西想清楚.其中想到一个js改进的内容,需要innerHTML后的脚本也可以运行.但是尝试了一下.发现IE下直接innerHTML的脚本无法执行. 尝试了几次发现,插入的HTML里,<script>前面有其他对象,并且script 设置了 defer , 这样的脚本innerHTML被IE执行了. ,但是这招对于firefox不灵~~ 后来找了一些资料发现 firefox 把对象重新 append 或者 insertBefore 一次就可以执行里面的脚本了.
程序代码
var fillHTML = function (el,HTMLString) {
if (!el) return;
if (window.ActiveXObject) { //For IE
el.innerHTML = "<img style='display:none'/>" + HTMLString.replace(/<script([^>]*)>/ig, '<script$1 defer>');
el.removeChild(el.firstChild)
} else { //For Mozilla,Opare
var nSibling = el.nextSibling;
var pNode = el.parentNode;
pNode.removeChild(el);
el.innerHTML = HTMLString;
pNode.insertBefore(el,nSibling)
}
}
相关推荐
-
让innerHTML的脚本也可以运行起来
最近在脑子一直在想pjblog重构的问题.当然重构前,必须把所有需要做的东西想清楚.其中想到一个js改进的内容,需要innerHTML后的脚本也可以运行.但是尝试了一下.发现IE下直接innerHTML的脚本无法执行. 尝试了几次发现,插入的HTML里,<script>前面有其他对象,并且script 设置了 defer , 这样的脚本innerHTML被IE执行了. ,但是这招对于firefox不灵~~ 后来找了一些资料发现 firefox 把对象重新 append 或者 insertBe
-
Perl中使用File::Lockfile确保脚本单实例运行
用Perl写了一些监控脚本,放在crontab中调度执行.有时候会发现一个脚本运行时间过长,会同时跑起多个实例,因此有必要为脚本加上控制,只运行一个实例. 最简单自然的想法,在脚本中检查并创建一个空的lock文件,脚本结束时再删除.通过判断文件是否存在的方式来判断脚本是否已经运行.不过这样做有个bug,如果脚本运行过程中异常终止,lock文件没有正常删除,就会导致脚本无法再运行. 空的lock文件不行,那么考虑在lock文件中加入一点内容,比如进程的PID号,然后通过检查该PID号的进程是否还在
-
Python守护进程和脚本单例运行详解
本篇文章主要介绍了Python守护进程和脚本单例运行,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.简介 守护进程最重要的特性是后台运行:它必须与其运行前的环境隔离开来,这些环境包括未关闭的文件描述符.控制终端.会话和进程组.工作目录以及文件创建掩码等:它可以在系统启动时从启动脚本/etc/rc.d中启动,可以由inetd守护进程启动,也可以有作业规划进程crond启动,还可以由用户终端(通常是shell)执行. Python有时需要保证只运行一个脚本实例,以避
-
shell脚本实现多进程运行的方法示例
本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子 for ip in 192.168.56.{1..254} do ( ping $ip -c 4 &>/dev/null; if [ $? -eq 0 ]; then echo $ip is alive fi ) & done wait 解释 重点是在于()和&,把for里面需要执行的命令当作一个组合并在后台运行. wait等待所有后台子程序执行完毕 执行效率
-
ubuntu下让python脚本可直接运行的实现方法
我们还是以那个翻译程序为例子,上次给各位老铁讲了在windows下的应用程序打包,这一次给各位老铁讲一讲,在linux下为python文件可以自己执行,从而不需要python xxx.py. 很简单,在python源文件最上面添上下面一句话! #!/usr/bin/python3 /usr/bin/python3,是ubuntu下python3解释器所在的目录,具体可以用which python3查看 然后在执行chmod +x ./xxx.py,为python脚本增加可执行权限 例如我这里 s
-
Python实现多脚本处理定时运行
目录 前言: 一.创建时间 二.设定时间 前言: 管理多脚本,要实现大量统计计算以及大量脚本进行统计,定时运行并反馈结果是很多大数据项目场景中十分常见的,就该问题本篇文章提供思路方法以及部分代码. 一.创建时间 首先可以通过python自带的datetime库获取本地时间,对于Pythpn时间序列想要更深入的了解可以参阅:Pandas处理时间序列数据操作详解 python3是自带datetime库的,他有自身代表时间的数据类型datetime.由此我们可以根据datetime数据结构进行运算,运
-
Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法
1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 adb shell dumpsys activity top 2).我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志, pidcat.py packageName 3).思考,为什么每次都需要这样重复的操作呢?一说到重复,我们应该立马想到是否可以用脚本解决重复
-
linux shell(.sh)脚本编写和运行入门
编写第一个shell脚本 在gedit中编写.sh格式的文件,保存为a.sh. 代码: #! /bin/bash # employ bash shell player1=xiaoming # define a player1 player2=ken echo "Game start! $player1 $player2" # echo is used to printf in terminal 在终端调用脚本,定位到目录,然后输入: bash a.sh 看到打印结果如上所示. 编写第一
-
Seraph sp脚本运行软件下载
- 6.28修正了6.27中的一个验证方面的错误.感谢天天脚本的帮助.向受影响的用户道歉! - 修正了在函数内的DIM语句赋初值时没有正常赋值的问题 - 加入一些加密元素,进一步提高网络验证脚本的安全性 - 改进了共享脚本打包流程的指导性 - 网络验证脚本新支持创建充值卡,供作者自由销售 为什么要用 Seraph ? ◆因为他是免费的,而且永远免费. ◆因为他不仅免费,而且强大. ◆精确灵活的内存搜索函数,支持多数据项地址位移搜索,每秒搜索30M以上. ◆增强的屏幕图像搜索功能,支持区域
-
用vbs确定脚本正在哪一个帐户下运行
问: 您好,脚本专家!如何确定脚本正在哪一个帐户下运行? -- KW 答: 您好,KW.您知道,自从我们以各种托辞而开设这一专栏以来已有一段时间了,对于我们而言,这并非易事:毕竟,寻找托辞是我们这些脚本专家的拿手好戏.明确了这一点,那就让我们以我们最喜欢的一个托辞开始吧:我们将向您介绍的脚本只在 Windows XP 和 Windows Server 2003 上有效.我们将向您介绍使得该脚本在 Windows 2000 上同样有效的方法,但后者绝对不及前者好. 噢,是的:现在感觉该方法不错.
随机推荐
- Angular项目中$scope.$apply()方法的使用详解
- VBS教程:VBscript语句-Option Explicit 语句
- 使用 Iisext.vbs 列出Web服务扩展的方法
- javascript IP、域名、手机号码正则表达式验证代码
- 详解tween.js的使用教程
- Python中itertools模块用法详解
- js实现翻页后保持checkbox选中状态的实现方法
- asp.net数据绑定DataBind使用方法
- php文件包含目录配置open_basedir的使用与性能详解
- PHP管理内存函数 memory_get_usage()使用介绍
- 取图片路径的正则
- Python在信息学竞赛中的运用及Python的基本用法(详解)
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
- mysql 复制过滤重复如何解决
- 简单掌握JavaScript中const声明常量与变量的用法
- 用shell脚本监控进程是否存在 不存在则启动的实例
- SQLSERVER的版本信息和SP补丁信息查看方法
- MySQL单表ibd文件恢复方法详解
- js实例入门(简单展开或关闭)
- 想成为起码要懂的16个问题