Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何';获取';通过javascript仅生成3秒钟的元素?_Javascript - Fatal编程技术网

如何';获取';通过javascript仅生成3秒钟的元素?

如何';获取';通过javascript仅生成3秒钟的元素?,javascript,Javascript,我的问题主要是我想点击一个出现在一个只有3秒钟可用的中的。。。 有显示:none,因此我可以随时显示它,但是是由我无权访问的其他js文件生成的。我无法更改原始js文件(例如,为了给我更多的时间),因为我只使用用户脚本与页面交互!(不是我自己的页面) 到目前为止,我尝试在js代码中定位生成的按钮的id或类,但是js被缩小了。。。所以没有运气。。。 我还尝试使用在这3秒钟内为该按钮生成的临时类,然后单击它。。。通过做一个屏幕截图,手动输入类,然后在控制台中运行一点代码,在这3秒钟内点击它。。。没有运

我的问题主要是我想点击一个出现在一个只有3秒钟可用的
中的
。。。
显示:none
,因此我可以随时显示它,但是
是由我无权访问的其他js文件生成的。我无法更改原始js文件(例如,为了给我更多的时间),因为我只使用用户脚本与页面交互!(不是我自己的页面)

到目前为止,我尝试在js代码中定位生成的按钮的id或类,但是js被缩小了。。。所以没有运气。。。 我还尝试使用在这3秒钟内为该按钮生成的临时类,然后单击它。。。通过做一个屏幕截图,手动输入类,然后在控制台中运行一点代码,在这3秒钟内点击它。。。没有运气

到目前为止,我认为问题在于我对这种情况的处理方式,所以我没有在这里编写任何代码。。。
请告诉我您对此的想法…

将您的按钮检测代码放入一个触发频率足够高的容器中,以便在按钮存在时触发:

// note: this is just pseudocode
var interval = setInterval(function() {
    // look for button
    if(buttonFound) {
        clickButton();
        clearInterval(interval);
    }
}, 300);
如果您想对DOM中的更改做出反应,可以添加(在您的情况下,添加到父元素)

没有任何代码,很难提供更好的答案


请扔掉一个代码笔,或者JSFIDLE,或者一些我们可以用来帮助您解决问题的代码+我从来不知道有这样的事存在。和往常一样,IE支持不如stellar@WalterStabosz,如果您想要支持IE 9或IE 10,您可以使用它,但它在DOM4中被弃用。
(function () {
    "use strict";
    var target = document.getElementById("hiddenElement"),
        observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(value, index, array) {
                console.log(value.type);
                console.dir(value.addedNodes); // return node list
                console.dir(value.removedNodes);
                // put here your logic
            });
        });

    observer.observe(target, {
        childList: true,
        subtree: true,
        characterData: true,
        characterDataOldValue: true
    });    
}());

(function () {
    "use strict";


    var newEle = document.createElement("input"),
        hiddenElement = document.getElementById("hiddenElement");

    newEle.type = "button";
    newEle.value = "click";
    newEle.addEventListener("click", function(e) {
        alert("Generated only for 3 second");
    });

    hiddenElement.appendChild(newEle);
    hiddenElement.style.display = "block";

    setTimeout(function() {
        hiddenElement.style.display = "none";
        hiddenElement.removeChild(newEle);
    }, 3000);    
}());