【问题标题】:JavaScript settimeout in Qt WebKitQt WebKit 中的 JavaScript 设置超时
【发布时间】:2011-05-26 02:07:44
【问题描述】:

我正在使用 qt webkit 来获取页面的内容。在我的程序中,我捕获了两个信号,QWebFrame 的loadFinishedinitialLayoutCompleted,当接收到两个信号时,我将输出页面的内容。但是无法处理这个页面(我需要获取google的内容):

<html>
<head>
    <title>test</title>
</head>
<body>
    <script type="text/javascript">
    setTimeout('window.document.location.href="http://www.google.com";',2000
    </script>
</body>
</html>

此页面在 2 秒后重定向到 www.google.com,因此,当我收到 loadFinishedinitialLayoutCompleted 信号时,我什么也没得到。 所以,我想立即执行 javascript 计时事件(重定向到 google),而不是等待 2 秒。有没有办法做到这一点? 为我糟糕的英语道歉!

【问题讨论】:

    标签: javascript webkit settimeout


    【解决方案1】:

    如果我理解您的问题,您只需将“2000”更改为不同的数字,例如

    setTimeout('window.document.location.href="http://www.google.com"',2000);
    

    或者,您可以完全取消超时:

    window.document.location.href="http://www.google.com"
    

    它会立即运行,无需设置超时。

    【讨论】:

    • 我不想修改页面的 html 代码,在我的程序中,我执行 javascript automatic:settings->setAttribute(QWebSettings::JavascriptEnabled, true);所以,我想知道的是Qt是否有禁止这种javascript计时事件的方法。
    • 为此,帮不了你,对不起。 :(
    猜你喜欢
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    相关资源
    最近更新 更多