gpt4 book ai didi

javascript - Opera 中的 Document.body

转载 作者:行者123 更新时间:2023-12-02 20:14:28 25 4
gpt4 key购买 nike

我在检索正文标记的链接时遇到问题。我试过:

  1. document.body,不幸的是它是空的
  2. 在枚举文档子级时按 tagName 搜索正文,只找到 head 标签:(
  3. document.getElementsByTagName,返回未定义

我正在尝试获取 onload 事件处理程序中 body 标记的链接。这是该页面的 HTML 代码:

<html>
<head>
<title>Some page</title>
<script src="/adv.js" type="text/javascript"></script>
</head>
<body>
This is text
</body>
</html>

这里是adv.js的源代码:

(function () {

var myRandom = function (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};

var myFunction = function () {
var newScriptAddr = '/adLoader.js?r=' + myRandom(1,1000000);

var fileref = document.createElement('script');
if (typeof fileref != "undefined")
{
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", newScriptAddr);

document.getElementsByTagName("head")[0].appendChild(fileref);
}
};

if (window.onload)
{
var currOnLoad = window.onload;
window.onload = function () {
currOnLoad();
myFunction();
};
}
else
window.onload = myFunction();

}) ();

adLoader.js源代码:

(function () {

var mainCnt = document.createElement('div');
mainCnt.appendChild(document.createTextNode('The text'));

var _body = document.body;

if (!_body)
{
var htmlTag = document.documentElement;
for(var i = 0; i < htmlTag.childNodes.length; i++)
{
if (htmlTag.childNodes[i].nodeName.toLowerCase() == 'body')
{
_body = htmlTag.childNodes[i];
break;
}
}
}

if (!_body)
_body = document.getElementsByTagName('BODY') [0];

if (!_body)
_body = document.getElementsByTagName('body') [0];

if (_body)
_body.appendChild(mainCnt);
else
alert('WTF!!');

}) ();

浏览器是Opera 11.10操作系统Ubuntu Linux。有办法获得这个链接吗?我的目标是将带有 position:fixed 的 div 添加到 body 标记。

最佳答案

myFunction() 不返回函数,因此您将 undefined 分配给 window.onload。您的意思可能是 window.onload = myFunction;

无论如何,正如目前所写,代码立即运行并且尚未到达 body 元素。

关于javascript - Opera 中的 Document.body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com