【发布时间】:2018-04-12 06:13:40
【问题描述】:
我开发了一个非常简单的 Chome 扩展,它公开了一个工具栏按钮。单击按钮时,页面内容使用XMLHttpRequest POST 到服务器,然后 元素的innerHtml 被服务器返回的新内容替换。
由于某种原因,这会阻止 元素展开。我已经通过禁用使 then 再次工作的扩展来验证这一点。
任何想法为什么会发生这种情况以及如何解决它?代码如下供参考:
chrome.extension.onMessage.addListener(
function (request, sender, sendResponse) {
if (request.msg == "get_content") {
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementsByTagName('html')[0].innerHTML =
xmlhttp.responseText;
} else {
alert('Cannot reach russiangram.com');
}
}
}
xmlhttp.open("POST", "https://russiangram.com/translate/Default.aspx", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(document.getElementsByTagName('html')[0].innerHTML);
sendResponse({ data: 'success' });
}
});
【问题讨论】:
标签: javascript html google-chrome-extension