jQuery $(window).load(); 是否执行事件不会在没有 声明的页面上触发? (...在 Chrome 扩展内容脚本中)

2024-03-03

我正在开发一个可以操作网页的 Google Chrome 扩展,但在它部分加载(DOM)或完全加载(带有图像)之后。

看来现在很多网站都使用

<!DOCTYPE html>

声明,或者它的一些变体,但许多其他人没有。问题主要是关于 HTML 文档类型...我不确定其他的。

是否可以安全地假设,如果网页没有 DOCTYPE 声明,则 $(window).load();不会被解雇吗?

一开始我使用 $(document).ready(); (当加载 DOM 时),但后来切换到 $(window).load(); (让图像也加载)。

问题是,现在 $(window).load();如果没有 DOCTYPE,似乎不起作用。 $(文档).ready();似乎适用于所有页面,无论是否声明了 DOCTYPE。

也许这对其他有同样问题的人有用。我搜索了一下,没有找到决定性的答案。看来我最终会使用这样的东西:

if (window.document.doctype != null) {$(window).load(checkEntries);}
if (window.document.doctype == null) {$(document).ready(checkEntries);}

我想我的问题是...必须检查 DOCTYPE 才能知道要使用哪个事件,这正常吗?或者我在这里遗漏了什么?

基本上,为什么 $(window).load();如果没有 DOCTYPE 声明,似乎不会触发?


基本上,您不应该使用 $(window).load(),因为它不完全受支持。如果您确实需要它,那么上面的解决方案就是您能做的最好的解决方案。 jQuery 页面很好地总结了这些注意事项:

与图像一起使用时加载事件的注意事项

开发人员尝试使用 .load() 解决的常见挑战 快捷方式是当图像(或集合)时执行一个函数 图像)已完全加载。有几个已知的警告 这是应该注意的。这些都是:

  • 它不能一致地、可靠地跨浏览器工作
  • 如果图像 src 设置为与之前相同的 src,则它不会在 WebKit 中正确触发
  • 它没有正确地冒泡 DOM 树
  • 可以停止触发已存在于浏览器缓存中的图像

URL: http://api.jquery.com/load-event/ http://api.jquery.com/load-event/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery $(window).load(); 是否执行事件不会在没有 声明的页面上触发? (...在 Chrome 扩展内容脚本中) 的相关文章

随机推荐

  • 在 32 位保护模式/MSVC 内联汇编中获取 FS:[0] 的线性地址

    我在 Visual C 内联汇编中使用了这条指令 lea eax FS 0 Why did eax得零分吗 我如何获得线性地址FS 0 假设 FS 指向 Windows线程信息块 https en wikipedia org wiki Wi
  • C#:SHDocVw.WebBrowser_V1 在哪个程序集中定义?

    它在几个网站上使用 这些网站似乎都假设读者知道如何才能使用这种类型 但我不知道 示例站点 请参阅第一条评论 http blogs artinsoft net mrojas archive 2008 09 18 newwindow2 even
  • 为什么 jsx 中的三元运算符不起作用

    我有一个反应组件 在其中我想使用三元运算符显示一个子组件 这似乎不起作用 这是我的代码 import React Component from react import HeaderProduct from components heade
  • 如何删除使用 django-ckeditor 上传的图像?

    我已经在 Django 管理界面的 CKEditor 中上传了一些图像 我可以通过单击编辑器中的 图像 按钮来浏览和选择图像 然后在弹出的窗口中单击 浏览服务器 这是弹出窗口的屏幕截图 我的问题是 如何删除服务器上的图像 不幸的是这是真的
  • “Enter-PSSession -Session”,阻止调用进程,直到用户键入“exit”

    我在将 New PSSession 与 Enter PSSession session 结合使用时遇到问题 也就是说 在用户在交互式 PSSession 中键入 exit 之前 无法阻止调用进程 这是一个代码示例 s New PSSessi
  • React-router 不会在不同路径上重新挂载组件

    我的反应应用程序中有一个组件 它是一个表单 该表格用于创建新许可证或编辑现有许可证 无论哪种方式 它都只是一个组件 它会检查 componentDidMount 是哪个 pageType 添加 更新 现在我的问题是 当我使用表单编辑许可证
  • 在 C# 中枚举 Collection 的子集?

    在 C 中是否有一种好方法可以仅枚举 Collection 的子集 也就是说 我有大量对象的集合 例如 1000 个 但我只想枚举元素 250 340 有没有一种好方法可以获取集合子集的枚举器 而无需使用另一个集合 编辑 应该提到这是使用
  • 如何从 Java 7 调用 Kotlin 挂起协程函数

    我正在尝试从 Java 7 调用 Kotlin 函数 我正在使用协程 并且这个被调用的函数正在挂起 例如 suspend fun suspendingFunction Boolean return async longRunningFunc
  • Scala 元组列表到平面列表

    我有元组对列表 List String String 并想将其展平为字符串列表 List String 一些选项可能是 连接 list map t gt t 1 t 2 一个接一个交错 在您发表评论后 您似乎在要求这个 list flatM
  • 计算一系列值的 RGB 值以创建热图

    我正在尝试用 python 创建热图 为此 我必须为可能值范围内的每个值分配一个 RGB 值 我想将颜色从蓝色 最小值 更改为绿色到红色 最大值 下面的图片示例解释了我对颜色组合的看法 我们的范围是从 1 纯蓝色 到 3 纯红色 2 介于两
  • Angular2的ng-select如何实现分组?

    我正在实现多个选择下拉菜单Angular2项目按照这个link https plnkr co edit JcG8uO9nIfSGMEKdLf0Y p preview 但现在我必须在这个多选下拉列表中显示分组 那么我该如何实现呢 或者有其他插
  • Javafx 橡皮筋调整大小错误

    所以 我的橡皮筋课上有一个错误 但我似乎无法修复它 我基本上做的是 我有一个边框窗格 它是我想要调整大小的节点的外部窗格 我为这个 borderpane 指定一个宽度为 1 像素的边框 查看 css 我还为这个边框面板分配了 4 个矩形 每
  • Angular 2 - 锚链接到当前页面上的元素[重复]

    这个问题在这里已经有答案了 如果问题标题不清楚 我有一个带有某些 链接 部分的网页 因此有人可以单击该链接并转到同一模板上的元素 这并不一定意味着更改 URL 我尝试过的要点 a href Section B a a href p Cont
  • 升级到 macOS Sierra 后无法从终端运行 R

    我最近将 MacBook 更新到了 macOS Sierra 版本 10 12 3 16D32 并且我无法再直接从终端运行 R DN51ssqi kjytay R bash R command not found DN51ssqi kjyt
  • ACM 交互器冻结

    我正在尝试使用 Swing 和 ACM 交互器制作一个非常简单的程序 它直接取自课堂讲义 但在我的计算机上不起作用 当我运行它时 它可以正常运行大约半秒 然后短暂闪烁 重新加载 然后所有按钮和文本字段功能都丢失 这是代码 import ac
  • ECONNREFUSED 用于从本地主机到另一个本地主机的代理请求

    首先 我是角度新手 我正在遵循教程视频 https youtu be 2OHbjep WjQ一步步 我在这个问题上被困了近两周 并花了很多时间在其他类似的论坛上寻找解决方案 我意识到这是一个常见的错误 但在尝试了几十个左右的解决方案但没有成
  • 如何捕获整数(0)?

    假设我们有一个语句可以生成integer 0 e g a lt which 1 3 5 捕捉这个最安全的方法是什么 这是 R 打印零长度向量 整数一 的方式 因此您可以测试a长度为 0 R gt length a 1 0 可能值得重新考虑您
  • python 中的图谱聚类

    我想使用谱聚类在 python 中对图进行聚类 谱聚类是一种更通用的技术 不仅可以应用于图形 还可以应用于图像或任何类型的数据 但是 它被认为是一种特殊的技术graph聚类技术 遗憾的是 我无法在线找到 python 中的谱聚类图的示例 S
  • 使用 CSS 制作进度条动画

    所以 我在这个页面上有几个不同的进度条 http kaye at play goals http kaye at play goals 这是我的 HTML 和 CSS div class meter span style width 100
  • jQuery $(window).load(); 是否执行事件不会在没有 声明的页面上触发? (...在 Chrome 扩展内容脚本中)

    我正在开发一个可以操作网页的 Google Chrome 扩展 但在它部分加载 DOM 或完全加载 带有图像 之后 看来现在很多网站都使用 声明 或者它的一些变体 但许多其他人没有 问题主要是关于 HTML 文档类型 我不确定其他的 是否可