我正在构建一个Chrome扩展程序,用于创建新标签页,加载页面,检索源代码并关闭标签页。这是我的第一个Chrome扩展程序。
整个过程或多或少都有效,它需要微调,但是当我检索某些对象未找到丢失图像的页面时,我的控制台会在我不执行或显示源代码时返回错误消息安慰。
我正在使用的功能如下:
function chromeTabsCreateAsync(createProperties)
{
return new Promise((resolve, reject) =>
{
console.log('tab start');
chrome.tabs.create(createProperties, tab =>
{
if (chrome.runtime.lastError)
{
reject(new Error(chrome.runtime.lastError));
}
else
{
chrome.tabs.onUpdated.addListener(onUpdated);
function onUpdated(updatedTabId, details)
{
console.log(details.status+' '+tab.id);
if (details.status == 'complete')
{
chrome.tabs.executeScript(tab.id,
{
file: 'test.js',
}, function(results)
{
var source = results[0];
chrome.tabs.remove(tab.id);
resolve(source);
});
}
}
}
});
console.log('tab end');
});
}
变量“source”包含源代码,但当它包含缺少的东西时,我在控制台中收到类似这样的错误:
GET chrome-extension://kcaijhlimdglmbpdmgmjdclklhppafge/WEB/images/max_chatbot.png net::ERR_FILE_NOT_FOUND
这个PNG确实是从页面的源代码中调用的,它确实从该页面中丢失了,但是为什么我的控制台会在源代码位于变量中时抛出该错误?
我做错了吗?
由于
劳伦
答案 0 :(得分:0)
解决方案包括创建一个新文档来存储源代码:
parser = new DOMParser();
content = parser.parseFromString(source, "text/html");
source包含使用上面显示的脚本检索的源代码。
如果您想访问某个特定div的内容:
$(' .divClass',内容).contents();