找回密码
 加入
搜索
楼主: lynfr8

[IE类操作] 内嵌IE不弹出新窗口[新成果+讨论]

 火... [复制链接]
发表于 2010-7-9 10:12:02 | 显示全部楼层

本帖最后由 lanfengc 于 2010-7-9 10:14 编辑

回复 30# dnbj2010


    MSGBOX那行应该使用我发的第二个源码。 否则任务栏出现一闪而过的窗口 另外,鼠标ID可能跟操作系统有关。 我windows2003下是1001F(H)=65567(D)
发表于 2010-7-9 14:30:58 | 显示全部楼层
留名备查,谢谢。这货没有灌水。
发表于 2010-7-9 23:13:34 | 显示全部楼层
其实我不会,但我还是要看看
发表于 2010-7-10 11:25:38 | 显示全部楼层
非常不错,学习了
发表于 2010-7-11 19:57:23 | 显示全部楼层
看高手过招,学习经验。
发表于 2010-7-12 10:53:21 | 显示全部楼层
受教了!谢谢各位!
发表于 2010-7-12 15:10:07 | 显示全部楼层
回复 16# woeiwoei
谢谢,这个帮助中就有,还是lynfr8的好,一直在GUI中框着浏览器对象,这才是我的效果.
发表于 2010-7-13 12:04:23 | 显示全部楼层
回复 25# lanfengc

其实,如果AU3支持NewWindow2 或以上的话,就不用这么麻烦了.....
发表于 2010-7-15 09:35:53 | 显示全部楼层
VB使用WebBrowser控件能够完美解决这个问题,不知道au3要怎样才能使用WebBrowser控件?
下面是VB的测试程序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-7-16 19:29:53 | 显示全部楼层
回复 39# 风行者

有源码吗?
发表于 2010-7-17 10:38:38 | 显示全部楼层
本帖最后由 风行者 于 2010-7-17 10:40 编辑

最终还是想到修改源码来达到不弹出新窗口,至少还是比较完美的,不会出现闪屏
#include <IE.au3>
_IEErrorHandlerRegister()
Global $oIE = _IECreateEmbedded()
$url = "http://www.google.com.hk"
GUICreate("test", 700, 600, (@DesktopWidth - 700) / 2, (@DesktopHeight - 600) / 2)
GUICtrlCreateObj($oIE, 0, 0, 700, 600)
_IENavigate($oIE, $url)
_replace()
GUISetState()

Do
        $nurl = _IEPropertyGet($oIE, "locationurl")
        If $nurl <> $url Then
                _replace()
                $url = $nurl
        EndIf
        Sleep(10)
Until GUIGetMsg() = -3


Func _replace()
        Local $body, $string
        _IELoadWait($oIE)
        $body = _IEBodyReadHTML($oIE)
        $string = StringRegExpReplace($body, '\btarget=_blank', 'target=_self')
        $string = StringRegExpReplace($string, '\btarget="_blank"', 'target=_self')
        _IEBodyWriteHTML($oIE, $string)
EndFunc   ;==>_replace

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
autoit3CN + 20 + 5

查看全部评分

发表于 2010-7-19 08:27:46 | 显示全部楼层
打开凤凰网->资讯 打开新窗口。
发表于 2010-7-19 12:11:29 | 显示全部楼层
回复 41# 风行者
修改源码来达到不弹出新窗口
----------------------------------------------------
这个....网页设计成_blank,_self还是有区别的。比如搜索时,会将搜到结果的链接弹成新页面,要是改成_self,参照搜索出的目录页太不方便了。

评分

参与人数 1金钱 +20 收起 理由
lynfr8 + 20

查看全部评分

发表于 2010-8-15 12:55:17 | 显示全部楼层
本帖最后由 ajian55 于 2010-8-15 13:01 编辑

将原网页中的 所有 target=_blank 替换成 target=“”  再写回网页,我试过,觉得这个方法挺好~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-13 14:08 , Processed in 0.076279 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表