Crodova, inappbrowser执行脚本给出:将循环结构转换为JSON

Crodova, inappbrowser execute script gives: Converting circular structure to JSON

本文关键字:循环 结构 转换 JSON inappbrowser 执行 脚本 Crodova      更新时间:2023-09-26

我正在使用Cordova,我想在inappbrowser中执行一段代码。我有下面的代码来完成这一点。首先,函数executeScript永远不会被执行。我不能在那里休息。但是,我也得到了这个错误:

Uncaught TypeError: Converting circular structure to JSON

这是实际代码:

inappbrowser_window.addEventListener('loadstop', function(event) {     
    inappbrowser_window.executeScript({code : 'document.getElementsByTagName("body")[0];'}, function(txt){
        ...
        //this is inside another function that i'm calling.
        // dont know if its relevant. Included just in case.
        try{
           JSON.parse(txt)
        }catch(e) {
            return false;
        }
        return true;
        ...
    });
});

有人知道我错过了什么吗?有没有什么事情是我明明需要做却没做的?

提前感谢你的帮助。

Jenia .

序列化问题很可能发生在inAppBrowser插件中,而不是在您的代码中:

为了将脚本执行的结果传递给回调函数,inappbrowser_window.executeScript()必须序列化在inAppBrowser中执行的代码块的结果。

如果代码块的结果是一个包含循环引用的复杂对象,即使您不尝试自己序列化数据,Uncaught TypeError: Converting circular structure to JSON也会触发。