输出JS链接文件再执行

输出JS链接文件再执行

左直拳

<script language="JavaScript" src="outer.js" type="text/javascript"></script>这类的句子只能够一早老老实实的写好放在页面里加载执行吗?

错。

一样可以通过document.write()的形式输出,并且浏览器还是一视同仁的执行,不打任何折扣,IE也好,FF也好,都没有问题。

只是,“<script language="JavaScript" src="outer.js" type="text/javascript"></script>这种句子是非常特殊的,不能当作一般的字符串来对待,象

var script = “<script language="JavaScript" src="outer.js" type="text/javascript"></script>”;

一执行,分分钟报错。浏览器说存在未结束的字符串常量。究其原因,<script>是特殊的关键字,虽然包含在双引号里,但浏览器仍然认为它是一个表达式。

所以应该做一些处理再输出。

服务器端:

protected string content = “”;

Regex re = new Regex(@"script", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

content = re.Replace(content, "scrip+t");//script à scrip+t

re = new Regex(@"<!--|//-->", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);//去掉注释符号

content = re.Replace(content, "");

客户端:

var content = <%=content%>;

var r = /scrip\+t/gi;

content = content.replace(r,"script");//恢复过来再输出

document.write(content);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值