比如说,我想获取youtube或其他远程网站的标签,但现在,我收到一个错误消息: tag of youtube or another remote website. Currently, I get an error that states:
CORS策略已阻止从源"我的网站"访问"网站I请求获取标题部分"处的XMLHttpRequest:请求的资源上不存在"Access-Control-Allow-Origin"标头。
我尝试过做一个XMLHttpRequest,但是我被源代码阻止了。在这种情况下,我没有尝试注入或修改一些东西,而是获得了head部分,你可以很容易地通过从源代码复制粘贴来获得它(所以我没有看到安全问题)。
这是我用来实现这一点的函数:
function httpGet(theUrl) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.responseText);
return xmlhttp.responseText;
}
}
xmlhttp.open("GET", theUrl, false);
xmlhttp.send();
}
是否有一种方法可以向远程站点发送请求并获得头部内容(只读)?目前,这里有类似的问题,但没有一个回答,因为不同的开发人员使用不同的东西,我很难理解这是否是一种可能性。
更新:这里是manifest.json文件,但是我想再次说明用户没有在标签页或其他任何地方打开该域,它只是一个随机域。
{
"manifest_version": 3,
"version": "0.0.5",
"action": {
"default_popup": "popup/popup.html"
},
"permissions": ["activeTab", "scripting"],
"host_permissions": ["<all_urls>"]
}
1条答案
按热度按时间os8fio9y1#
我测试了你的扩展,它工作得很好。manifest.json略有修改,但基本上是一样的。
manifest.json
popup.html
popup.js