Google chrome setAttribute不';t设置为本地存储

Google chrome setAttribute不';t设置为本地存储,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,出于某种原因,我似乎无法将元素的值设置为除引号中的文本之外的任何内容。我一到: hiddenField1.setAttribute(“value”,localStorage.curl) 或者类似的东西,它只是无法加载页面并设置属性 完整代码: var curl = localStorage["curl"]; var username = localStorage["username"]; var password = localStorage["password"]; function fak

出于某种原因,我似乎无法将元素的值设置为除引号中的文本之外的任何内容。我一到:

hiddenField1.setAttribute(“value”,localStorage.curl)

或者类似的东西,它只是无法加载页面并设置属性

完整代码:

var curl = localStorage["curl"];
var username = localStorage["username"];
var password = localStorage["password"];

function fakePost() {  
    var form = document.createElement("form");
    form.setAttribute("name", "form1");
    form.setAttribute("id", "form1");
    form.setAttribute("method", "post");
    form.setAttribute("action", "http://SNIPURLlogin&action=login");

        var hiddenField1 = document.createElement("input");
        hiddenField1.setAttribute("type", "hidden");
        hiddenField1.setAttribute("name", "short");
        hiddenField1.setAttribute("id", "short");
        hiddenField1.setAttribute("value", localStorage["curl"]);
        form.appendChild(hiddenField1);

        var hiddenField2 = document.createElement("input");
        hiddenField2.setAttribute("type", "hidden");
        hiddenField2.setAttribute("name", "txtUsername");
        hiddenField2.setAttribute("id", "txtUsername");
        hiddenField2.setAttribute("value", "shane");
        form.appendChild(hiddenField2);

        var hiddenField3 = document.createElement("input");
        hiddenField3.setAttribute("type", "hidden");
        hiddenField3.setAttribute("name", "txtPassword");
        hiddenField3.setAttribute("id", "txtPassword");
        hiddenField3.setAttribute("value", "shane");
        form.appendChild(hiddenField3);     

    document.body.appendChild(form);

    form.submit();
};
//minify function
fakePostCode = fakePost.toString().replace(/(\n|\t)/gm,'');

chrome.browserAction.onClicked.addListener(function (t) {
  chrome.tabs.create({"url" : "javascript:"+fakePostCode+"; fakePost();"});
});

出现您的问题是因为
localStorage
特定于其来源。这意味着上的
localStorage
值,例如
http://example.com
http://foo.org
。我们可以说每个源“都有”自己的
localStorage

您正在尝试访问
javascript:…
页面(或者至少是
about:blank
页面)的
localStoage
对象。Chrome阻止您读取或写入此特定的
localStorage
,因为您不在“真实”页面上。即使Chrome没有抛出安全错误,您尝试做的也没有多大意义——为什么您希望设置
about:blank
localStorage[“curl”]

顺便说一下,您可以用一行代码重现错误:

chrome.browserAction.onClicked.addListener(function (t) {
  chrome.tabs.create({"url" : "javascript:localStorage['foo']"});
});
因此,现在发现这是一个“未捕获的错误:SecurityError:DOM异常18”并没有多大帮助,所以我认为这就到此为止了。