Javascript在错误的标签页面中运行

时间:2016-10-20 12:15:04

标签: javascript tampermonkey

我是JavaScript的新手(昨天开始),目前正在尝试编写Tampermonkey用户脚本以在youtube.com/watch页面上集成Youtube Converter,但我遇到了一个奇怪的问题。

主要结构是我有一个youtube.com/watch的用户脚本,它在视频衬里下添加一个按钮到youtube转换器,带有一个拟合的查询字符串。然后我有一个youtube转换器的用户脚本,一旦准备好就会点击下载按钮。

它有效,但它工作太多而且在错误的地方......

问题是添加按钮的脚本开始在Youtube转换器选项卡中运行,单击下载按钮的脚本在Youtube转换器选项卡中开始,然后由于某种原因中途切换到Youtube选项卡。

按钮插入脚本在5秒内运行一次,因为在youtube上网站切换很奇怪,并且它不会重新触发Tampermonkey。

以下是Youtube视频下添加按钮的onclick:

function convertViaYoutubeconverter(){
var ytURL = window.location.href;
window.open("http://www.yt-mp3.com/watch?v="+ytURL.split("=")[1], '_blank');}

这是下载" clickbot":

alert("Where am I");
if(!document.getElementsByClassName("btn-dl download disabled")[0])
{
    window.open(document.getElementsByClassName("btn-dl download")[0].getAttribute("href"),"_blank");
    alert("Downloading");
}

警告的地方"我在哪里"在Youtube转换器选项卡中,但继续抛出无法读取属性的错误" getAttribute"在Youtube选项卡中为null,它引用clickbot脚本。

这里要求的是我的用户脚本的标题:

// ==UserScript==
// @name         YoutubeConverter Autodownload
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://www.yt-mp3.com/*
// @grant        none
// ==/UserScript==

// ==UserScript==
// @name         YoutubeConverter in Youtube
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.youtube.com/*
// @grant        none
// ==/UserScript==

我不知道问题所在,如果是我的代码,Chrome或Tampermonkey,但我认为stackoverflow无论如何都能提供帮助。提前致谢

0 个答案:

没有答案