//此方法对于嵌套在一个页面A中的B页面,获取B页面的位置在IE9和其他浏览器(包括IE其他系列浏览器)下有些不同,IE9是根据浏览器来定位的,FF及其他则是根据当前页面也就是嵌套的页面来定位的(真正兼容还待改进)
function getEvent() //同时兼容ie和ff的写法
{
if (document.all)
return window.event;
func = getEvent.caller;
while (func != null) {
var arg0 = func.arguments[0];
if (arg0) {
if ((arg0.constructor == Event || arg0.constructor == MouseEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
return arg0;
}
}
func = func.caller;
}
return null;
}
var __is_ff = (navigator.userAgent.indexOf("Firefox") != -1); //Firefox
function getMouseLocation() {
var e = getEvent();
var mouseX = 0;
var mouseY = 0;
if (__is_ff) {
mouseX = e.layerX + document.body.scrollLeft;
mouseY = e.layerY + document.body.scrollLeft;
}
else {
mouseX = e.x + document.body.scrollLeft;
mouseY = e.y + document.body.scrollTop;
}
return { x: mouseX, y: mouseY };
}
//调用的方法,弹出当前所在页面的位置
function show() {
var test = getMouseLocation();
alert(test.x + ":" + test.y);
}