Как исправить ошибку __exposedProps__ в Greasemonkey (GM_xmlhttpRequest)?

Я написал свой первый скрипт для Greasemonkey, он отлично работает, за исключением того, что он возвращает ошибку exposedProps на каждой странице, над которой он работает. Я уже исправил все остальные ошибки, но эта все еще существует и основана на некоторых статьях в Интернете (например, this), это сломает мой скрипт в будущем, когда будет опубликован Firefox 17. (Сейчас я использую Firefox 15.0, и, к счастью, он просто возвращает ошибку с предупреждением!)

Я использую GM_xmlhttpRequest в своем скрипте:

function doProcess(id, in_process_type){

    var set_id = GM_getValue("pid"+id);

    GM_xmlhttpRequest({
        method: "POST",
        url: "https://website_address/return_params.php",
        data: "pid="+set_id,
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function(response) {
    --->    var params = response.responseText;
            params = params.replace(/(\r\n|\n|\r|\s)/gm,"");

            ..........
        }
    });
}

и это сообщение об ошибке, которое относится к строке, перед которой я поставил стрелку:

Error: Exposing chrome JS objects to content without __exposedProps__ is insecure and deprecated. See https://developer.mozilla.org/en/XPConnect_wrappers for more information.
Source File: file:///Users/Mona/Library/Application%20Support/Firefox/Profiles/tonfd656.default/gm_scripts/MonaTest/MonaTest.user.js
Line: 133 

Я нашел эту страницу, на которой предлагает решение этой ошибки, но, честно говоря, я не могу понять, как я могу использовать его здесь!

Я очень ценю всю вашу помощь заранее ... И спасибо за ваше время!


person Mona    schedule 29.08.2012    source источник
comment
Какую версию Greasemonkey вы используете? Вы внедряете какой-либо код или создаете <script> узлов?   -  person Brock Adams    schedule 30.08.2012
comment
@BrockAdams У меня на моем фф установлен Greasemonkey версии 1.0, думаю, это последняя версия, не так ли?!   -  person Mona    schedule 30.08.2012
comment
Я также подключил удаленный JS-файл с помощью прямого внедрения кода, но эта функция ничего не делает с этим скриптом...   -  person Mona    schedule 30.08.2012
comment
Да, 1.0 — это последняя версия GM. Я спросил это, прежде чем понял, что эта проблема, вероятно, затрагивает все текущие версии Greasemonkey.   -  person Brock Adams    schedule 30.08.2012


Ответы (1)


Это проблема/потенциальная ошибка в самой Greasemonkey. Видеть:

Возможно, вы захотите взвесить и отследить эти сообщения об ошибках.

Если вы сделаете ссылку на свой полный скрипт, мы сможем помочь с обходным решением, но, скорее всего, это можно исправить только в самой Greasemonkey.

person Brock Adams    schedule 30.08.2012
comment
Я попытался использовать явную функцию, и это не сработало. так что я думаю, мы ждем исправления Greasemonkey. - person Wooooo; 30.08.2012
comment
@BrockAdams Спасибо за ссылки, я добавил их в свой список наблюдения ... Я тоже попробовал ваше решение, и оно вернуло ту же ошибку в функции processResponse ... Думаю, я тоже жду исправления gm ... в любом случае спасибо за ваше время ! (Единственная причина, по которой я не принял ваш ответ, - это код, который не может решить проблему, но если вы удалите эту часть, я приму ее из-за ссылок и того, что это проблема GM. .) - person Mona; 30.08.2012
comment
Хорошо, я удалил предложенный эксперимент, так как было 2 сообщения о том, что он не сработал. ... Обратите внимание, что вы можете/можете отредактировать ответ (или почти что угодно) самостоятельно. Он попадает в очередь предлагаемых правок, но большинство SE одобряются, если только они не очень плохие. - person Brock Adams; 30.08.2012