Javascript Chome扩展阻止<;选择>;来自扩展的元素
我开发了一个非常简单的Chome扩展,它公开了一个工具栏按钮。单击按钮时,使用Javascript Chome扩展阻止<;选择>;来自扩展的元素,javascript,html,google-chrome-extension,Javascript,Html,Google Chrome Extension,我开发了一个非常简单的Chome扩展,它公开了一个工具栏按钮。单击按钮时,使用XMLHttpRequest将页面内容发布到服务器,然后将元素的innerHtml替换为从服务器返回的新内容 出于某种原因,这会阻止元素扩展。我已通过禁用扩展来验证这一点,该扩展使then再次工作 你知道为什么会发生这种情况以及如何解决吗?以下代码仅供参考: chrome.extension.onMessage.addListener( function (request, sender, sendResponse)
XMLHttpRequest
将页面内容发布到服务器,然后将元素的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' });
}
});
我猜你是在哪里替换documents HTML标记的内容,也可能是在替换最初在该页面上的任何相关JS/CSS引用
可能作为一种测试,而不是替换HTML标记的内容,向页面添加一个新的DIV元素或其他内容,并将其作为目标。这很有希望让您看到select功能是否仍然有效。我猜您是在哪里替换documents HTML标记的内容,也可能是在替换最初在该页面上的任何相关JS/CSS引用 可能作为一种测试,而不是替换HTML标记的内容,向页面添加一个新的DIV元素或其他内容,并将其作为目标。希望这能让您看到select功能是否仍然有效