VB程序员博客

VB程序开发

我用webbrowser打开一个网页后,想修改他的一些script。

用了这样的语句
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
Set objScript = Me.WebBrowser1.Document.createElement("SCRIPT")
    objScript.src = "c: emp.js"
    If Not Me.WebBrowser1.Document Is Nothing Then
    If Not Me.WebBrowser1.Document.body Is Nothing Then
    WebBrowser1.Document.body.appendChild (objScript)
End Sub

结果在IE6.0的环境下可以运行。

在IE7.0的环境下提示:“脚本错误:无效字符”,

    我把temp.js清空,里面没有一句话,还是提示“无效字符”
    只有删了temp.js才能正常运行,当然网页中运行的js是原来网站的。

这是为什么?

http://support.microsoft.com/kb/934366/zh-cn

可以修改啊,需要在js中加上 <script language=javascript>你的代码 </script>。
另外,IE7安装后注册表中有错误,你要修改一下,不过从你的代码表现来看,你应该已经修改了,所以问题是出在这儿。在IE6中不需要加上 <script>标志就可以,但IE7不行。

为了让大家都明白IE7的错误,我把解决办法也贴出来:
IE7安装后,注册表中HKEY_CLASSES_ROOTTypeLib{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}1.1win32的值为C:WINDOWSsystem32ieframe.dll1,修改成C:WINDOWSsystem32ieframe.dll就可以在VB6中使用IE7的 WebBrowser了。

没有用,还是和以前一样。

Private Sub Form_Load()
WebBrowser1.Navigate "http://member1.taobao.com/member/login.jhtml?ssl=false&redirect_url=http%3A%2F%2Fmember1.taobao.com%2Faso%2Frtgs%3Fdomain%3Daliim%26target%3D687474703A2F2F776562777774622E696D2E616C69736F66742E636F6D2F77616E6777616E672F77656277772E68746D3F%26account_type%3Dnick"
End Sub
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    Set objScript = Me.WebBrowser1.Document.createElement("SCRIPT")
    objScript.src = "c: emp.js"
    If Not Me.WebBrowser1.Document Is Nothing Then
    If Not Me.WebBrowser1.Document.body Is Nothing Then
    WebBrowser1.Document.body.appendChild (objScript)
    End If
    End If
End Sub

temp.js如下
<script language=javascript>
var a='123';
alert(a);
</script>

我试过了,IE7也可以添加,只不过由于IE7默认不执行本地加载的JS,所以尽管成功了,但不显示对话框。
问一句,楼主是dycatv吗?

Mark!

关注。。。

学习ing

ddd

dddd

顶,学习

dddddd

see

引用 6 楼 lyserver 的回复:
我试过了,IE7也可以添加,只不过由于IE7默认不执行本地加载的JS,所以尽管成功了,但不显示对话框。
问一句,楼主是dycatv吗?

IE7默认不执行本地加载的JS,只能加载网上的js

问题已解决。

mark  不错  调试程序又多了一个选择

帮顶!

studyed^

UP`


标签: , , ,