QWebView:只禁用来自网站的javascript?

时间:2014-04-24 06:47:15

标签: javascript qt qtwebkit qwebview

我目前正在编写一个小型浏览器,并希望通过Javascript与页面进行交互(例如GreaseMonkey - 与用户脚本一样)。

但是,我想通过QWebSettings禁用加载网页的javascript 。现在当我做类似的事情时:

settings = QWebSettings.globalSettings()
settings.setAttribute(QWebSettings.JavascriptEnabled, False)

来自网络的javascript不起作用,但evaluateJavaScriptaddToJavaScriptWindowObject QWebFrame之类的内容不再有效

我相信基于WebKitGTK的dwb通过直接使用JavaScriptCore库来绕过这一点。

我可以做类似的事情,比如可能使用QtScript自己评估用户脚本并以某种方式将它们连接到webview吗?虽然这对我来说似乎不是一个简单的解决方案。

1 个答案:

答案 0 :(得分:0)

今天我注意到即使禁用了javascript,evaluateJavaScript()上的QWebElement仍可使用。

这意味着至少我可以做类似的事情:

webview.page().mainFrame().documentElement().evaluateJavaScript("...")

并且工作正常。