我的页面上有一个外部 javascript,例如就像是:
<script src="http://foo.com/script.js" type="text/javascript"></script>
和一个 UpdatePanel 某处。该脚本写入一些内容,并在 js 文件中的匿名 JavaScript 函数中执行此操作。也就是说,脚本中有这样的内容:
(function(){document.write('content');})();
每当通过异步回发更新 UpdatePanel 时,脚本所做的一切(或我页面上的任何 javascript)都会被撤消。
对于普通的 javascript,我只会使用:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myFunction)
重做所有这些,但由于脚本源文件中的函数是匿名的并且在定义时调用,所以我很SOL!有任何想法吗?
注意:外部js源来自另一个域,其内容不在我的控制范围内。
Try this
private string _myScript = @"(function (){
var ys = document.createElement('script');
ys.type='text/javascript'; ys.async=true;
ys.src='http://foo.com/script.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ys,s);
});";
然后在你的Page_Load中
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "myScript", _myScript , true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)