Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在新选项卡加载时使用HTML DOM事件?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在新选项卡加载时使用HTML DOM事件?

Javascript 如何在新选项卡加载时使用HTML DOM事件?,javascript,jquery,html,Javascript,Jquery,Html,我有一个自定义主页,在Firefox中打开一个新标签时加载。 我想在加载时重新定位插入符号,但找不到在加载选项卡时处理此操作的事件 当从新选项卡事件加载页面时,窗口.onpageshow和窗口.onload事件不起作用,但在刷新或类似情况下可以正常工作。 将事件与元素一起抛出也没有效果,例如: <body onload="blah()"> 当页面以这种方式加载时,是否有方法调用我的游标重新定位函数? 编辑:这是setCursor代码 <script type="text/

我有一个自定义主页,在Firefox中打开一个新标签时加载。 我想在加载时重新定位插入符号,但找不到在加载选项卡时处理此操作的事件

当从新选项卡事件加载页面时,
窗口.onpageshow
窗口.onload
事件不起作用,但在刷新或类似情况下可以正常工作。 将事件与元素一起抛出也没有效果,例如:

<body onload="blah()">

当页面以这种方式加载时,是否有方法调用我的游标重新定位函数? 编辑:这是setCursor代码

<script type="text/javascript">
window.onload = ready;
function ready()
{
    setCursor(document.getElementById('sbar'), 0, 0)
};
</script>


<script type="text/javascript">
function setCursor(el, st, end) 
{
    if (el.setSelectionRange) {
        el.focus();
        el.setSelectionRange(st, end);
    } else {
        if (el.createTextRange) {
            range = el.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', st);
            range.select();
        }
    }
};
</script>

window.onload=就绪;
函数就绪()
{
setCursor(document.getElementById('sbar'),0,0)
};
功能设置光标(el、st、end)
{
如果(标高设置选择范围){
el.focus();
el.设置选择范围(st,end);
}否则{
if(el.createTextRange){
range=el.createTextRange();
范围。塌陷(真);
range.moveEnd('character',end);
range.moveStart('character',st);
range.select();
}
}
};

如果要挂起页面加载(选项卡加载),您有几个选项:

第一个选项是使用
onload
事件:

window.onload = ready;
function ready()
{
    alert("Hi !");
};
演示:

第二个选项是将javascript放在正文的最末端:

<body>
  ...
  <script type="text/javascript">
    ready();
  </script>
</body>
或:


对于web浏览器,恐怕窗口加载和新选项卡加载没有区别。如果您坚持只从您的站点加载,那么HTTP头
referer
之类的东西可能会有所帮助。但是
referer
在服务器端,而不是javascript。谢谢!不幸的是,我仍然有问题。警报对话框在新选项卡上工作正常,但我的光标重新定位脚本仍然无法加载运行。有趣的是,如果我在同一个onload函数调用中包含一个警报,它可以正常工作-知道发生了什么吗?代码位于正文的末尾,setCursor函数包装在脚本标记中。没有使用jQuery获得不同的结果。再次感谢+1,但new member=noshow。请添加
setCursor
功能代码!
jQuery(function($) {
    //Your code here
});
jQuery(document).ready(function($) {
    //Your code here
});