Javascript Chrome扩展创建-获取元素';s Src属性并打开一个新选项卡
manifest.json:Javascript Chrome扩展创建-获取元素';s Src属性并打开一个新选项卡,javascript,google-chrome-extension,Javascript,Google Chrome Extension,manifest.json: { "manifest_version": 2, "name": "Secure Video Downloader", "description": "Download Videos Virus Free", "version": "1.0", "content_scripts": [ { "matches": ["https://gostream.is/*", "http
{
"manifest_version": 2,
"name": "Secure Video Downloader",
"description": "Download Videos Virus Free",
"version": "1.0",
"content_scripts": [
{
"matches": ["https://gostream.is/*", "http://gostream.is/*"],
"js": ["content.js", "jquery-3.2.1.min.js"],
"run_at": "document_end"
}
],
"browser_action": {
"default_icon": "secure_16.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs", "http://*/*"
]
}
content.js:
function showpanel() {
var video = document.getElementsByClassName("jw-video").src;
console.log(video);
window.open(video, '_blank');
}
setTimeout(showpanel, 10000);
<video class="jw-video jw-reset" disableremoteplayback="" webkit-playsinline="" playsinline="" jw-loaded="data" src="https://3.bp.blogspot.com/_SxCDsop4y3m5AuPGDOuDZ-y7MhCneqxOCGqVmWO9evlbvZ1yM4GuI9fBtYriE6ImR1LQiSrSUWcS6g9rv_jeJj5-f5HyJO0pod5elOGpwhxZIoix4cth9b6dNUWdMJMPETq1ds_8A=m37" jw-played=""></video>
元素:
function showpanel() {
var video = document.getElementsByClassName("jw-video").src;
console.log(video);
window.open(video, '_blank');
}
setTimeout(showpanel, 10000);
<video class="jw-video jw-reset" disableremoteplayback="" webkit-playsinline="" playsinline="" jw-loaded="data" src="https://3.bp.blogspot.com/_SxCDsop4y3m5AuPGDOuDZ-y7MhCneqxOCGqVmWO9evlbvZ1yM4GuI9fBtYriE6ImR1LQiSrSUWcS6g9rv_jeJj5-f5HyJO0pod5elOGpwhxZIoix4cth9b6dNUWdMJMPETq1ds_8A=m37" jw-played=""></video>
说明:当我加载页面(加载
content.js
并等待设置超时10秒以完成)时,会打开一个新选项卡,其url为about:blank
。我还测试了控制台显示元素的src,并在控制台中打印出undefined
。如果我右键单击dev控制台中的链接并按openinnewtab
,元素src就会像它应该的那样打开。我还尝试将window.open(showpanel,10000)
更改为window.open('http://www.sethjfreeman.com”,10000)它打开了我的网络公文包。因此,问题一定是获取元素的src属性。这可能是您的问题:
var video = document.getElementsByClassName("jw-video").src;
返回一组没有属性的元素src
试试这个:
var video = document.getElementsByClassName("jw-video")[0].src;
其他副本: