通过JS如何知道Body中,onload的函数名称?

qwerttyy 2006-02-21 04:23:08
例如:
<body onload="FrmLoad()" >

怎么通过JS得到“FrmLoad()”这个函数的名称?

我用document.body.parentElement.innerHTML可以得到整个页面的HTML,然后用正则得到“FrmLoad()”这个函数名称。

但这种方法太麻烦了,而且可能会出错。

有没有简单的方法可以得到?
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
是是非非 2006-02-21
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<html xmlns:v="http://www.eglic.com/">
<head>
<title></title>
<meta name="Generator" content="EditPlus" />
<meta name="Author" content="eglic" />
<meta name="ContentType" content="text/html" />
<meta name="CharSet" content="GB2312" />
<link rel="stylesheet" type="text/css" href="/style/default.css" />
<style type="text/css">
</style>
<script language="javascript" src="/script/default.js"></script>
<script language="javascript" defer>
function doc_Load(){
}
document.onload=doc_Load;
function test(){
if(document.onload){
var s=document.onload.toString();
s=s.substr(s.indexOf('function')+8,s.length);
s=s.substr(0,s.indexOf('('));
s=s.replace((/(^\s*)|(\s*$)/ig),'');
alert('document 的onload事件处理函数名为:' + s);
}else{
alert('没有指定 document 的onload事件处理函数');
}
}
</script>
</head>
<body>
<button onclick="JavaScript:test();">测试一下</button>
</body>
</html>
hbhbhbhbhb1021 2006-02-21
  • 打赏
  • 举报
回复
楼主一定要函数名吗
<script language=javascript>
function test()
{
alert("haha")
alert(document.body.onload.toString())
}

</script>
<body onload=test()>
这样我想可能比拿HTML匹配好匹配一些
其实直接写重载方法不好吗
document.body.onload=function haha()
{
新的函数
}
这样就不用名字了
DeluxWorld 2006-02-21
  • 打赏
  • 举报
回复
这样做也不是很简单:
<body onload="FrmLoad()">
<script>
function FrmLoad(){
alert("load...");
}
str = document.body.onload.toString();
str = str.substring(str.indexOf('{')+1,str.length-1);
alert(str);
</script>
</body>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧