相关疑难解决方法(0)

window.onload vs. body.onload vs. document.onready

有什么区别window.onload,document.onreadybody.onload

javascript

73
推荐指数
1
解决办法
7万
查看次数

onload()和$ .ready之间的区别?

你能列出使用jQuery 的区别onload()$(document).ready(function(){..})功能吗?

javascript jquery onload

51
推荐指数
2
解决办法
7万
查看次数

使用2个函数在body onload中加载javascript

我试图在body onload中加载2个javascript事件/函数,如下所示: -

<body onLoad="getSubs(document.form1.HotelID.options[document.form1.HotelID.selectedIndex].value);getTags(document.form1.HotelID.options[document.form1.HotelID.selectedIndex].value);">
Run Code Online (Sandbox Code Playgroud)

每当我使用2个函数加载时,第一个函数就会中止 - 但是如果我只加载它就可以正常工作 - 我做错了是不可能在onload中放入2个函数?

html javascript events client-server

9
推荐指数
3
解决办法
7万
查看次数

触发window.onload事件时加载了哪些外部资源以及资源的加载顺序是什么?

由于单个网页可能包含大量外部资源:外部javascript,外部css,图像,applet,flash等,通常我的传统智慧告诉我,当所有链接资源下载完成后,会触发window.onload事件(虽然外部资源通常由浏览器的实现下载到多个线程或进程中.通常的情况可能在大多数时间都有效.但是......如果加载序列不是我认为理所当然的话,那么一些javascript bug可能会在某个地方蔓延.

在做了一些搜索之后,我发现事实并非如此.从这个页面:https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5214317.html,似乎在onload事件被触发时不加载图像.但是从这里window.onload vs <body onload =""/>,在我看来,onload被触发时会加载图像.通过此链接http://forums.mozillazine.org/viewtopic.php?f=25&t=413504&start=0&st=0&sk=t&sd=a,对我来说更加困惑.

所以我的第一部分问题是:当window.onload被触发时,是否所有资源都被加载了?

问题的另一个密切相关的部分是:在window.onload被触发之前,什么是资源加载顺序?我知道内部资源,如内部javascript或css,加载顺序是从页面顶部到底部(除非在IE中,使用延迟脚本,如此处所示,当页面DOM已加载时(但在window.onload之前) )).但是外部javascript和css资源呢?例如,如果我像这样写我的页面:

 <external stylesheet...>
 <external javascript #1...>
 <external javascript #2...>
 <script>
  .....
  window.onload=....
  </script>
Run Code Online (Sandbox Code Playgroud)

假设"外部javascript#2"中的函数调用"外部javascript#1"中的函数,我能确定它总是有效吗?另外如果window.onload调用"外部javascript#1"中的函数也可以按预期工作?

您可以说资源加载顺序以及何时触发window.onload事件取决于浏览器实现,如此处所述JavaScript中的事件优先级是什么?.但我仍然想知道公众是否有规范或惯例.那么请你转介我的资源或告诉我事实以清除我的困惑?

html javascript browser

7
推荐指数
1
解决办法
3516
查看次数

早期访问控件| 负载与domready

我最近在jsfiddle.net上,我看到这是一个配置选项.这让我觉得它可能有助于解决我遇到的问题:

我加载了多个图像(尚未升级到单个精灵),因此我无法使用我的控件直到它们全部下载...图像占用大部分下载时间,因此在前几秒我无法访问我的控件.

目前我正在使用这两个中的一个......两项工作.

window.onload = initialize_page

window.addEventListener('load',initialize_page);
Run Code Online (Sandbox Code Playgroud)

有关

Jquery文档准备好与window.onload

window.onload vs. body.onload vs. document.onready

window.onload vs <body onload =""/>

javascript

5
推荐指数
1
解决办法
1160
查看次数

如何使用Javascript检查图像是否已加载?

OnLoad我的网页的处理程序中,我正在尝试检查是否所有图像都已正确加载.

我正在迭代所有<img>标签并用我的isImageLoaded()功能检查它们.不幸的是,我的功能仅适用于Firefox和IE版本8.

有什么建议我如何让它在IE 9和10中工作?

function isImageLoaded(img) {
    // check for IE
    if (!img.complete) {
        return false;
    }
    // check for Firefox
    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
        return false;
    }
    // assume it's ok
    return true;
}
Run Code Online (Sandbox Code Playgroud)

更新:事实证明,主要的罪魁祸首是在IE9 +加载所有图像之前可以触发OnLoad.什么是检查页面中图像的更好的触发器?我更愿意一次检查它们而不是单独的OnLoad/OnError处理程序.

javascript portability image loading

5
推荐指数
1
解决办法
2446
查看次数

JavaScript window.onload 与 body.onload

我的问题与这里提出的问题类似,但略有不同,window.onload vs <body onload=""/>

在那个问题中,它是使用 window.onload 和内联 js 之间的比较。

我的问题是以下内容之间的区别。假设 body 标签的 Id 为“bodyTag”。

document.getElementById("bodyTag").onload = function () {
    alert("hi");
} 
Run Code Online (Sandbox Code Playgroud)

对比

window.onload = function () {
    alert("hi");
}
Run Code Online (Sandbox Code Playgroud)

确切地说,这两者之间有什么区别,我什么时候应该使用其中一种?这仅适用于纯 JavaScript。我是否正确假设不同之处在于 window.onload 直到整个网页加载完毕、所有样式都已加载、所有 Javascript 代码已加载后才会启动?虽然使用第一个版本 (document.getElementById("bodyTag").onload=),但它等待整个网页加载(如果它在 head 中声明为外部 CSS 文件,则为 CSS 样式),但不适用于所有 Javascript装载?那是区别吗?

html javascript css

5
推荐指数
1
解决办法
2339
查看次数

将自定义函数绑定到原型中的DOM事件?

Jquery有一个很好的语言结构,如下所示:

$(document).ready(function() {
    $("a").click(function() {
        alert("Hello world!");
    });
});
Run Code Online (Sandbox Code Playgroud)

正如你可能已经猜到这一点,一旦该文件已加载,结合自定义功能,所有的onClick事件一个标签.

问题是,如何在Prototype中实现这种相同的行为?

javascript dom prototypejs

3
推荐指数
1
解决办法
7577
查看次数

在加载时计算<canvas>的大小?

<html>
<head>

<style type="text/css">
    canvas { width: 100%; height: 100%; }
</style>

<script>
    function init() {
        canvas = document.getElementById('canvas');
        alert(canvas.width + "x" + canvas.height);
    }
</script>

</head>

<body onload="init();">
    <canvas id="canvas"> </canvas>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

此代码显示样式之前的大小.它是风格后我需要的尺寸.我怎样才能做到这一点?

html javascript css canvas

2
推荐指数
1
解决办法
1372
查看次数

文档就绪v/s正文就绪v/s窗口就绪事件

这三个事件之间有什么不同?

哪一个在其他之前/之后加载?

   <body> 
        <script type='text/javascript'> 
            $(document).ready(function(){
                console.log('Document %s',+new Date());
            });
            $('body').ready(function(){
                console.log('Body %s',+new Date());
            });
            $(window).ready(function(){
                console.log('Window %s',+new Date());
            }); 
        </script>
        <div>hello world</div>
    </body>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,它们与我将它们放在代码上的顺序相同.对于当前的例子.document一个先发射,windows另一个发射.

ps我读过window.onload vs <body onload =""/>, window.onload vs document.onload和其他几个.

javascript jquery event-handling javascript-events

1
推荐指数
1
解决办法
922
查看次数

加载内容和JavaScript的HTML顺序

我有一个注册页面,有些JS仅用于此页面,而另一个JS用于3个不同的页面.所以,这个页面的JS只有我写的内部标签,以及第二个输入和外部文件,它包含在body标签中

代码示例

HTML
...
<script type="text/javascript" scr="src.js"></script>
<script type="text/javascript">
//some JS and jQuery code
</script>
Run Code Online (Sandbox Code Playgroud)

浏览器以何种顺序加载网页?如果它正在读取HTML,当它找到第一个脚本时它是否加载此脚本,等待它完全加载然后继续读取HTML?

因为在内部JS中我使用了一些来自外部脚本的函数,比如jQuery $(document).ready()函数,我想知道,如果在DOM准备就绪时触发了这个事件,那么这意味着该函数是外部JavaScript ?

html javascript jquery

0
推荐指数
1
解决办法
1976
查看次数