无法捕获youtube Crossrider扩展中修改的DOMSubtree
Unable to catch DOMSubtree Modified in youtube Crossrider extensions
我试图通过使用Crossrider扩展来捕捉DOMsubtree修改的事件,但无法获取。
我正试图在页面加载上获得一个youtube视频url,到目前为止还可以。但当我试图点击youtube右侧文章中的视频时,youtube正在打Ajax类型的电话来获取相关视频,然后我无法从地址栏获取点击的视频url。
尝试修改DOMsubtree。
$('body').on('DOMSubtreeModified',function(){
console.log("something is changing");
});
一些技术人员建议youtube使用Flash加载视频,Jquery无法预测。任何建议
var target = document.querySelector('#player-api');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if(mutation.type=="attributes"){
var url1=window.location.href;
$('#tubevid_div').remove();
if(url1.indexOf('youtube.com/watch?v=')){
InjectUtubeDownloadButton($,url1);
//observer.disconnect();
}
}
});
});
// configuration of the observer:
var config = {attributes: true};
// pass in the target node, as well as the observer options
observer.observe(target, config);
在这里,我观察到了来自mozilla文档的Player-api-div中的所有突变更改的更改。回调将只触发一次,我用它来使用InjectUtubeDownloadButton()注入我的下载按钮
相关文章:
- 在Safari执行javascript之前对其进行修改
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 用Javascript修改内部标记的CSS规则
- 绑定Range输入以修改样式
- 可以从Chrome扩展修改窗口对象吗
- jQuery滚动器插件修改
- 将函数从onclick修改为onload
- jQuery UI自动完成-修改问题
- Javascript日期修改
- 如何通过JQuery修改样式属性
- 使用treewalker修改表
- Angularjs:修改js中的作用域,稍后在页面中使用
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 修改控制器AngularJS的全局值
- 修改数据后,setState不会触发重新渲染
- 通过sdk/system/events在修改请求观测器上测试http
- GWT:有没有一种方法可以修改GWT在编译中使用的Cast.java文件
- 在多个元素上使用jquery插件,只需稍作修改
- 无法捕获youtube Crossrider扩展中修改的DOMSubtree
- DOMsubtree修改了IE中的等效项