1、直接document.write;
<script language="javascript">
document.write("<script src='test.js'><\/script>")
</script>
2、动态改变已有script的src 属性;
<script src='' id="s1"></script>
<script language="javascript">
s1.src="test.js"
</script>
3、动态创建 script元素;
<script>
var oHead = document.getElementsByTagName('HEAD').item(0)
var oScript= document.createElement("script")
oScript.type = "text/javascript"
oScript.src="test.js"
oHead.appendChild( oScript)
</script>
注 :
这三种方法都是异步的,所以在采用这类方法动态加载Js 的同时,主界面的Js脚本是继续执行的,所以可能出现通过异步加载的Js代码得不到预期的效果的情况。这时候可以考虑采用Ajax加载Js的方法。
大概原理 :用XMLHTTP取得要脚本的内容,再创建 Script 对象。另外注意编码的保持一致。因为服务器与XML使用UTF8编码传送数据。
你加载外部的js文件后,可以查看源码,点击js文件是否能打开,如果没有就是,路径错误,没有加载成功,如果有的话,<html><head></head>
<script type="text/javascript" src="外部.js"></script>
<body>
可以试试看。
WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键从 VS2005开始,VS自带的 WebBrowser控件,就已经相当友好了,可控性非常高了。Winform 结合 WebBrowser 做UI开发,也是一种非常流畅的模式了, 微软的VS IDE 系列的安装程序, 基本都是这个模式的
禁用错误脚本提示
将 WebBrowser控件的 ScriptErrorsSuppressed 设为 true
禁用右键菜单
将 WebBrowser 的 IsWebBrowserContextMenuEnabled 设为 false
禁用快捷键
将 WebBrowser 的 WebBrowserShortcutsEnabled 设为 false
禁用超链接
超链接分为两种,一种是 当前窗口直接转向, 一种是 在新窗口中打开
当然窗口直接转向:
将 WebBrowser 的 AllowNavigation 设为 false
在新窗口中打开:
禁用新窗口打开,需要处理 WebBrowser 的 NewWindow 事件
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true
}
做完上面的工作,基本就完工了,还有最后一点需要注意,那就是 Drag-And-Drop
记得将 WebBrowser 的 AllowWebBrowserDrop 设为 false