我正在为 Java SE API 参考文档 [ http://docs.oracle.com/javase/8/docs/api/ ] 编写一个简单的 Greasemonkey 脚本。它是这样的:
// ==UserScript==
// @id Test
// @grant none
// @include http://docs.oracle.com/javase/8/docs/api/*
// @version 1
// @run-at docuitment-end
// ==UserScript==
var classNamesFrame = null;
var classNamesDoc = null;
var classNamesATags = null;
var classNames = null;
function printClassNames()
{
classNamesATags = classNamesDoc.getElementsByTagName('a');
classNames = new Array();
var i;
for (i = 0; i < classNamesATags.length; i++) {
classNames.push(classNamesATags[i].textContent);
}
console.log(classNames);
console.log(classNamesDoc.URL);
console.log('Total number of classes: ' + classNamesATags.length);
alert("printClassNames called");
}
classNamesFrame = document.getElementsByName('packageFrame') [0];
classNamesDoc = classNamesFrame.contentDocument;
classNamesFrame.onload = printClassNames;
//classNamesFrame.addEventListener("DOMContentLoaded", printClassNames, false);
函数printClassNames()
打印它在列出所有类的框架中找到的所有类的名称。当框架完成加载时,我应该这样做。但是在onload
加载框架的 HTML 文档之前调用 even。
我尝试过使用DOMContentLoaded
事件,但它甚至没有被调用。
printClassNames
在框架完全加载完成后,我该怎么做才能调用它?