0

我正在修改 webbrowser 控件中显示的 web 内容,并寻找一种在应用所有更改之前不显示它们的方法。

我目前正在使用 DocumentComplete 事件,在过滤某些页面时,它们的内容是可见的。所以我想隐藏它们,直到一切都可以显示。

简单的.html

<html>
<head>
<style type="text/css">
div {
    font-weight: bold;
}
</style>
</head>
<body><div>foo</div> bar</body>
</html> 

演示脚本

new WBControl("file:///" A_ScriptDir "/simple.html")

class WBControl {

    DocumentComplete(oParams*) {
        doc :=  oParams[3].document
        sleep 200   ; simulate a delay caused by a heavy task
        doc.styleSheets[0].rules[0].style.fontweight := "normal"
    }

    __New(strURL="") {
        static WB
        Gui, New, Resize MaximizeBox
        Gui, Add, ActiveX, vWB w780 h580, Shell.Explorer  
        Gui, show, w800 h600
        ComObjConnect(WB, this)
        WB.Navigate(strURL)
    }   
}

有没有办法做到这一点?

4

1 回答 1

0

尝试:

document.body.style.visibility := "hidden"

要恢复可见性,请将其设置为空字符串。

document.body.style.visibility := ""

您也可以创建一个简单的加载显示来代替显示;如果你想变得花哨。

于 2012-11-16T11:05:41.743 回答