location.assign()
загружает новую страницу; «убрать» скрипт и любые переменные, такие как Recaptcha
.
В этом случае продолжайте и используйте unsafeWindow
. Это не так уж важно, если вы не знаете, что веб-мастер нацелен на скрипты Greasemonkey.
В этом случае это даже менее опасно, потому что вы добавляете код рекапчи. Целевой страницы нет.
Обновление:
ОП указал, что это должно работать и в скриптах содержимого Chrome. В этом случае введите обе части следующим образом:
function addJS_Node (text, s_URL) {
var D = document;
var scriptNode = D.createElement ('script');
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
targ.appendChild (scriptNode);
}
addJS_Node (null, 'http://www.google.com/recaptcha/api/js/recaptcha_ajax.js');
//-- Might need a delay here, but probably not.
addJS_Node ('Recaptcha.create(theKey,"recaptcha_widget_div",{theme:"red"});');