Javascript jQuery正在尝试下载图像
我正在尝试使用jQuery编写某种HTML解析器。我有两个文件: content.jsJavascript jQuery正在尝试下载图像,javascript,html,jquery,google-chrome-extension,html-parsing,Javascript,Html,Jquery,Google Chrome Extension,Html Parsing,我正在尝试使用jQuery编写某种HTML解析器。我有两个文件: content.js let messageInterval = 500; let timer; $(function () { const extensionID = chrome.runtime.id; sendHTMLPage(extensionID) $(this).on('DOMNodeInserted DOMNodeRemoved', function () { clearTim
let messageInterval = 500;
let timer;
$(function () {
const extensionID = chrome.runtime.id;
sendHTMLPage(extensionID)
$(this).on('DOMNodeInserted DOMNodeRemoved', function () {
clearTimeout(timer);
timer = setTimeout(function () {
sendHTMLPage(extensionID)
}, messageInterval)
})
chrome.runtime.onMessage.addListener(function (message) {
if (!jQuery.isEmptyObject(message.content))
sendHTMLPage(extensionID)
})
})
function sendHTMLPage(extensionID) {
chrome.runtime.sendMessage(extensionID, {pageHTML: $('body').html()});
}
panelScript.js
let pageHTML;
let inputField = $('input');
let resultsDiv = $('#results')
$.fn.startTag = function () {
return this[0].outerHTML.split('>')[0] + '>';
};
$(function () {
const tabId = chrome.devtools.inspectedWindow.tabId.valueOf();
chrome.tabs.sendMessage(tabId, {content: 'content'})
chrome.runtime.onMessage.addListener(function (message, sender) {
if (!$.isEmptyObject(message.pageHTML) && sender.tab.id === tabId) {
pageHTML = message.pageHTML
}
})
inputField.trigger('focus')
})
inputField.on('keyup', function () {
resultsDiv.empty();
$(pageHTML.toString()).find(inputField.val().toString()).each((index, element) => {
resultsDiv.append('<div class="row-fluid">\n' +
'<div><code></code></div>\n' +
'<div class="text"></div>\n' +
'</div>' +
'<hr>');
$('code').get(index).innerText = $(element).startTag().toString()
$('.text').get(index).innerText = $(element).get(0).innerText.toString()
})
})
工作原理:当页面加载内容脚本将页面的HTML发送到devtools脚本时,jQuery使用我创建的devtools选项卡上输入字段的选择器对其进行解析,并将结果放入devtools选项卡
但我经常会遇到这样的错误:
GET chrome-extension://miagiiggbmmjgihjnnnajjkjafloiemm/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png net::ERR_FILE_NOT_FOUND
Image (async)
xe @ jquery-3.5.1.min.js:2
S.parseHTML @ jquery-3.5.1.min.js:2
S.fn.init @ jquery-3.5.1.min.js:2
S @ jquery-3.5.1.min.js:2
(anonymous) @ panelScript.js:25
dispatch @ jquery-3.5.1.min.js:2
v.handle @ jquery-3.5.1.min.js:2
似乎jQuery试图从页面下载图像,但为什么?我所做的就是把它作为文本粘贴到我的页面上
更新
我发现,即使我没有在devtools页面中插入任何内容,它仍然显示错误。代码如下:我们仍在尝试下载图像:
inputField.on('keyup', function () {
resultsDiv.empty();
$(pageHTML.toString()).find(inputField.val().toString()).each((index, element) => {
// resultsDiv.append('<div class="row-fluid">\n' +
// '<div><code></code></div>\n' +
// '<div class="text"></div>\n' +
// '</div>' +
// '<hr>');
// $('code').get(index).textContent = $(element).startTag().toString()
// $('.text').get(index).textContent = $(element)
// console.log($(element).startTag())
// console.log($(element).innerText)
})
})
请帮帮我