javascript - Tampermonkey 脚本中的 document.getElementById 只能间歇性地工作
问题描述
我正在尝试在 Tampermonkey 中开发一个脚本以在 BoardGameArena 上使用。该脚本使用setInterval
并且由于某种原因我无法始终从浏览器中获取元素。例如,在此页面上,我在浏览器控制台中看到:
myvar was found: <a id="navbutton_gamelobby" class="menu_item " href="/lobby">
myvar is null: null
myvar is null: null
myvar was found: <a id="navbutton_gamelobby" class="menu_item " href="/lobby">
myvar is null: null
myvar is null: null
...
这是脚本
// ==UserScript==
// @name BGA test
// @namespace http://tampermonkey.net/
// @version 0.1
// @description test on https://boardgamearena.com/gamepanel?game=stoneage
// @author You
// @match https://boardgamearena.com/*
(function() {
'use strict';
var t = setInterval(myfun,1000);
function myfun() {
var myvar = document.getElementById('navbutton_gamelobby');
if (myvar) {
console.log('myvar was found:', myvar);
} else {
console.log("myvar is null:", myvar);
}
};
})();
我尝试使用setTimeout
orwaitForKeyElements
希望等待页面加载,但它没有帮助。
解决方案
推荐阅读
- javascript - 想要添加增加和减少我的球速度的按钮吗?
- wordpress - Wordpress Gutenberg:前端的 React 组件
- python - 如何使用 Pandas 的开始和结束日期提取 DataFrame
- abap - 用 JOIN 合并三个表
- asp.net-mvc-5 - 如何为具有相同结构的不同数据库制作 EF 迁移脚本
- sql - SQL Oracle - 将行转换为列
- wordpress - WooCommerce - 无法在结帐时显示送货地址字段
- javascript - javascript格式数字
- firebase - Firebase 身份验证:链接匿名帐户
- java - 内循环不打印单行矩阵Java intellij的列