gpt4 book ai didi

javascript - Firefox 插件并不总是获取视频源

转载 作者:行者123 更新时间:2023-11-28 01:32:45 25 4
gpt4 key购买 nike

我试图制作我的第一个插件,但我遇到了一个问题。我的插件是一个将图片和视频上传到网站的插件。图像工作正常,但对于视频,它有点偏离。这是我的代码:

var contextMenu = require("sdk/context-menu");
var tabs = require("sdk/tabs");

contextMenu.Item({
label: "Upload to domain",
context: contextMenu.SelectorContext("img,video"),
contentScript:'self.on("click", function(node, data){self.postMessage(node.src);});',
onMessage: function(imgSrc){
tabs.open("http://domain.org/upload/?"+imgSrc);
}
});

如果播放右边的视频here ,视频 url 会很好地传递给 onMessage 函数。如果你试试看here ,它不传递 url。他们都是webms。我猜它只是不适用于 html5 播放器。我对么?有解决办法吗?

最佳答案

您查找来源的方法并不总是适用于 video 元素,因为与 img 不同,video 元素的来源可以指定为子元素element source 这是第二种情况下发生的事情。要处理这种情况,您的代码必须类似于:

self.on("click", function(node, data){
if(node.src){
self.postMessage(node.src);
}else if(node.nodeName.toUpperCase() === "video".toUpperCase()){
var sources = node.children; // or may be node.querySelector("source");
for(var i in sources){
if(sources[i].src && sources[i].nodeName.toUpperCase() === "source".toUpperCase()){
self.postMessage(node.src);
}
}
}
}

关于javascript - Firefox 插件并不总是获取视频源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com