我有一个Chrome扩展程序,因此根据定义它可以在浏览器中运行。我一直在研究其他类似问题的帖子:
SecurityError: Blocked a frame with origin from accessing a cross-origin frame
在我的扩展代码中,我正在执行以下操作:
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
在Chrome的早期版本中(于2018年初或可能追溯至2017年),此代码可以正常工作,但现在会引发以下错误:
未捕获的DOMException:阻止了具有来源的帧 访问跨域框架的结果为“ https://play.google.com”。 在评估时(在getGooglePlayVideoArray(chrome-extension://mabfegpcoejeoliboopmoeoodfiocgcn/js/ZingFilter.js:727:27)评估时, :1:22) 在getGooglePlayVideoArray(chrome-extension://mabfegpcoejeoliboopmoeoodfiocgcn/js/ZingFilter.js:727:27) 在loadVideo(chrome-extension://mabfegpcoejeoliboopmoeoodfiocgcn/js/ZingFilter.js:760:21) 在chrome-extension://mabfegpcoejeoliboopmoeoodfiocgcn/js/ZingFilter.js:493:46
由于我的扩展名js已直接插入浏览器页面,因此我不了解Chrome如何将其视为跨源。是什么让它认为是跨源的?我唯一的求助于this的解决方案吗?