addToJavaScriptWindowObject对象隔离

时间:2014-08-06 12:24:14

标签: qt qwebview

如何制作由QWebFrame添加的对象:: addToJavaScriptWindowObject无法访问" untrusted"脚本? 例如,添加对象:

ui->webView->page()->mainFrame()->addToJavaScriptWindowObject("jtestobj", obj);

window.jtestobj 必须仅可从脚本 http://example.org/trusted_script.js 获取,对于所有其他脚本 window.jtestobj 必须返回未定义

1 个答案:

答案 0 :(得分:0)

我相信Qt是不可能的。

在我看来,只有一种方法,使用javascript:

在" trusted_script.js"中,将您的对象复制到新的"变量"

(function () {
    var objectCopy = window.jtestobj;
    ...
});

删除对象后:

(function () {
    var objectCopy = window.jtestobj;
    delete window.jtestobj;
});

或者在对象中设置undefined(或null):

(function () {
    var objectCopy = window.jtestobj;
    window.jtestobj = undefined;//window.jtestobj = null;
});