gpt4 book ai didi

javascript - YUI:确保 DOM 元素和脚本准备就绪

转载 作者:行者123 更新时间:2023-11-29 10:54:35 25 4
gpt4 key购买 nike

  1. 如果我将内联脚本放在与之交互的 DOM 元素之后,我是否仍应使用 YUI 3 的 domready event ?
    我没有发现任何问题,似乎我可以指望浏览器按顺序加载页面。 (我已经使用 YUI().use('node', ... 来确保我需要的 YUI 函数已经加载,因为 YUI 脚本是一个单独的文件。)

  2. 有没有办法加快加载像 YUI 2 的日历这样的小部件?
    我加载 appropriate script<head>我页面的元素。我用 YUI().use('yui2-calendar', ...以确保日历小部件可用。不幸的是,当我用日历加载我的页面时,这会导致短暂但明显的延迟。如果我省略 YUI().use('yui2-calendar', ...代码然后它显示而没有明显的延迟 - 但我想如果 YUI 脚本没有及时加载,这可能会导致日历根本不显示?

  3. 关于 #2,是否可以减少日历不存在然后又出现的视觉伪影?
    我通过为父 div 指定高度和宽度使它稍微好一点,这样至少空间已经分配 => 加载时移动最小。

最佳答案

  1. 如果访问 DOM 元素的代码出现在标记中的这些元素之后,则您不需要 domready。这适用于一般的 DOM 脚本,而不仅仅是 YUI。

  2. yui2-calendar 与 yahooapis.com/2.8.0r4/build/calendar/calendar-min.js 不同。前者包含一些包装代码,用于在 YUI 3 实例环境中对日历 API 及其依赖项进行沙箱处理。如果您在 中包含 YUI 2 脚本(您可能应该将其放在 的末尾),则不需要使用 yui2-calendar。这样做只会加载日历代码两次。否则,要利用 YUI 3 的动态异步加载,您可以从 中删除 <script> 并只使用 ('yui2-calendar')。您可以通过在 yui-min.js 种子文件之后的标记中包含 yui2-* 组合 <script> 来加快渲染时间。请注意,加载程序将始终获取 css 文件,因此您无需将其包含在标记中。

    <script src="http://yui.yahooapis.com/combo?3.1.0/build/yui/yui.js"></script>

    <script src="http://yui.yahooapis.com/combo?2in3.1/2.8.0/build/yui2-yahoo/yui2-yahoo.js&2in3.1/2.8.0/build/yui2- dom/yui2-dom.js&2in3.1/2.8.0/build/yui2-event/yui2-event.js&2in3.1/2.8.0/build/yui2-calendar/yui2-calendar.js"></script>/p>

  3. 您可以在页面加载时包含呈现的日历的 css 和标记,然后呈现到标记容器中。我不认为 YUI 2 日历有逐步增强现有标记的概念,但我可能是错的。它应该用其生成的标记破坏静态表标记并使 UI 生动起来。

关于javascript - YUI:确保 DOM 元素和脚本准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2786109/

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