Code:
function showpanel() {
var video = document.getElementsByClassName("jw-video")[0].src;
console.log(video);
window.open(video, '_blank');
}
setTimeout(showpanel, 1000);
Description:
这个问题更多的是想知道为什么会发生这种情况而不是试图修复它 .
扩展点是,我是从我的兄弟那里得到的,因为他想从123movies.is下载视频而不下载病毒 . 我原本打算通过我的网站组合网站,但后来我注意到扩展它会更容易 .
当我在个人电脑上本地托管文件时,一切正常 . 当电影页面加载时,它打开一个带有 video
标签的src的新标签,我只需按下载按钮即可 . 但是当我将扩展文件发布到谷歌浏览器网页商店时,每当我加载电影页面时,我都会收到以下两个错误:
Uncaught TypeError: Cannot read property 'src' of undefined at showpanel (chrome-extension://pefemfiejenbjbbbilkiejfnpcjpeoaf/content.js:2)
Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
只有在扩展发布到网上商店时,才会发生导致这些错误的原因?
1 回答
如果没有看到整个项目,很难知道究竟是什么导致了这个问题 .
但是,我会做一些事情 . 1)在其中一个目标页面的控制台中运行您的代码 . 2)尝试使用简单的控制台日志语句将扩展加载到chrome Web商店,该语句仅在您尝试定位的站点上运行 . 然后你知道问题是代码还是扩展清单 . 清单通常是扩展初学者才能做到最难的部分 . 3)如果这样做,并且代码与扩展中的代码相同,那么你正在研究它为什么
从Webstore运行时未定义 . 首先,我会将该功能与事件联系起来
而不是将其设置为在计时器上运行 . 然后我会在document_start注入脚本而不是document_end . 扩展中任何未定义的消息都可能与清单中内容脚本的注入有关,很可能是注入的时间或与网站协议匹配的权限 .