禁用在PhantomJs / QtWebKit中加载的子帧(iframe)

时间:2014-03-10 10:24:41

标签: iframe webkit phantomjs qtwebkit

有没有办法在phantomJs甚至QtWebKit / webkit中禁用加载子帧? 如果有必要,我没有问题与源代码集中。 我正在做一些网页操作,但我不需要iframe的内容,只会减慢加载时间。

我知道它可以在Mozilla中完成。

webSetup->SetProperty(nsIWebBrowserSetup::SETUP_ALLOW_SUBFRAMES,PR_TRUE);

但到目前为止,我没有在QtWebKit中找到任何可以执行此操作的内容。

也许有一种方法可以使用 onResourceRequested 来仅阻止对iframe的请求?

1 个答案:

答案 0 :(得分:4)

这似乎有效:

// load only the main page, no iframes
page.onLoadStarted = function() {
        page.navigationLocked = true;
};

如果需要,可以在页面加载后再次解锁。

或者,可以使用它来阻止加载任何资源:

var req_count = 0;
page.onResourceRequested = function(requestData, networkRequest) {
        if (req_count++ > 0) {
                networkRequest.abort();
        }
}

另见:

http://phantomjs.org/api/webpage/handler/on-resource-requested.html http://newspaint.wordpress.com/2013/04/03/adblock-for-phantomjs/