document.getElementsByClassName(...)[0]在GM脚本中未定义,适用于JS

时间:2016-02-09 10:08:16

标签: javascript greasemonkey

我正在尝试将这一行JavaScript用作GreaseMonkey脚本:

javascript: document.getElementsByClassName("widget-contents")[0].style.height='640px';void(0);

我尝试将其转换为GreaseMonkey脚本:

// ==UserScript==
// @name        First GM Script
// @namespace   http://www.example.net/
// @description first gm script
// @include     https//www.example.net/*
// @version     1
// @grant       none
// ==/UserScript==
document.getElementsByClassName('widget-contents') [0].style.height = '640px';

我收到此错误:

document.getElementsByClassName(...)[0] is undefined

有人可以向我解释我做错了什么吗?

2 个答案:

答案 0 :(得分:0)

正如@Oleg所建议的,我试图延迟执行代码,最后这是整个代码:

function enlarger () {
    document.getElementsByClassName('widget-contents') [0].style.height = '640px';
}
setTimeout (enlarger, 2000);

因此将enlarger的执行延迟了2秒。

答案 1 :(得分:0)

尝试

document.onload = function() {
  document.getElementsByClassName('widget-contents') [0].style.height = '640px';
}