'onload'是在加载文档时运行的JavaScript事件。同样,加载脚本时可能会捕获“onload”事件。
我需要知道Facebook页面插件何时加载,因为有时需要花费很多时间,并且会留下空白。 我已经按照 facebook 所说嵌入了页面插件 我需要知道Facebook页面插件何时加载,因为有时需要花费很多时间,并且会留下空白。 我已经按照 facebook 所说嵌入了页面插件 <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/es_LA/sdk.js#xfbml=1&version=v2.4&appId=XXXXXXX"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> 然后作为 facebook 的示例: <div class="fb-page" data-href="https://www.facebook.com/facebook" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true" data-show-posts="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/facebook"><a href="https://www.facebook.com/facebook">Facebook</a></blockquote></div></div> 它工作正常,但我需要知道它何时加载,这样我才可以显示它。 更新 很多天后,我只是隐藏该框并在 1 分钟后显示它,但有时它仍然无法加载页面。有什么想法吗? 谢谢! 使用此代码: window.onload = function() { FB.Event.subscribe('xfbml.render', function(response) { console.log('rendered.... finally!'); }); }; 函数 isFbMessengerLoaded() { 返回 typeof FB !== '未定义' && typeof FB.XFBML !== '未定义' && typeof FB.XFBML.parse !== '未定义'; }
在浏览器工具中,我看到事件 DOMContentLoaded 和 Load 在加载网站上的任何图像和字体之前同时触发。我的目标是聆听所有页面内容的那一刻......
无法使用 Edge 或 Firefox 突出显示此网页上的单个单词
我是 javascript 的半新手,所以我希望不会迷失在建议的答案中。我有一个网站,我试图找出为什么我无法左键单击并拖动以突出显示单个单词。网页...
作为序言,我已经查看了 SO 上有关此问题的现有帖子,我相信我的代码包含了所有建议的修复,但它仍然不起作用。 我正在尝试获取一个简单的 onload 事件...
如何使用reactjs / nextjs在window.onload事件之后加载脚本
我正在尝试优化我的google pagespeed Insights分数,我得出的结论是延迟nextjs的NextScript还不够好,它仍然会导致糟糕的LCP和TII。 我有
我想在第一次页面加载时运行脚本(对于选择元素的默认值),然后在每次更改选择元素时运行脚本。 是否可以在一行中完成,或者我需要重复功能...
我正在创建一个网页,其中嵌入了多个 GeoGebra 文件。这意味着对于每个 GeoGebra 小程序,我在 中有一个 元素以及用于配置它的关联脚本... 我正在创建一个网页,其中嵌入了多个 GeoGebra 文件。这意味着对于每个 GeoGebra 小程序,我在 <div> 中都有一个 <body> 元素,并带有关联的脚本来配置它;在 <body> 的末尾,我有以下脚本,将所有小程序添加到其关联的 <div> 中: <script> window.onload = function() { applet_0.inject('ggb-element-0'); applet_1.inject('ggb-element-1'); applet_2_NoLimit.inject('ggb-element-2-NoLimit'); applet_2_YesLimit.inject('ggb-element-2-YesLimit'); applet_3.inject('ggb-element-3'); applet_4_Flat.inject('ggb-element-4-Flat'); applet_4_Faster.inject('ggb-element-4-Faster'); }; </script> 我注意到,如果脚本的前六行中的任何一行失败,例如,如果无法加载关联的文件,则失败行后面的所有行都不会执行。 即使其中一个嵌入出现问题,我也想让这项工作正常进行。我已经发现我不能有多个 window.onload 命令(只执行最后一个)。有没有其他方法可以使其更具容错性? 您可以通过调用 window.addEventListener 而不是设置 window.onload 来拥有多个加载事件侦听器。通过这种方式添加的监听器会按照添加的顺序执行。通过提供 {once: true} 作为第三个参数,事件侦听器将在调用后自动删除。在您认为合适的加载事件被触发之前,可以将侦听器添加到代码中的任何位置。 例如,前两个侦听器可以通过以下方式添加 addEventListener('load', ()=> applet_0.inject('ggb-element-0'), {once: true}); //... addEventListener('load', ()=> applet_2_NoLimit.inject('ggb-element-2-NoLimit'), {once: true}); // etc... 你可以用 try {} catch {} 语句包裹每一行,但这需要大量的复制粘贴,而且代码会非常混乱。但是,如果您创建一个辅助函数,则可以在不使代码不可读的情况下实现: function evalFunction(scopeCode) { return new Function(scopeCode); } function runThroughErrors(code) { if(typeof code != "string") throw TypeError("Parameter 'code' is not a string"); let lines = code.split(/\r\n|\r|\n/g), func = ""; for(let line of lines) { let pat = /^#!/, lnCode = line.replace(pat, ""); func += pat.test(line)? lnCode+"\n" :`try { ${lnCode} } catch(err) { // Do something with the error. // This will be run with each ignored error. }` } return evalFunc(func); } document.body.addEventListener("load", runThroughErrors(` applet_0.inject('ggb-element-0'); applet_1.inject('ggb-element-1'); applet_2_NoLimit.inject('ggb-element-2-NoLimit'); applet_2_YesLimit.inject('ggb-element-2-YesLimit'); applet_3.inject('ggb-element-3'); applet_4_Flat.inject('ggb-element-4-Flat'); applet_4_Faster.inject('ggb-element-4-Faster'); `)); 用法是将 JavaScript 代码以字符串格式作为参数传递给 runThroughErrors 函数。该函数返回一个包含您的代码的 JS 函数,但错误将被忽略。 重要(使用runThroughErrors) 错误捕获断点位于行的每一端(如果是默认模式行)。 在每个语句后面添加行尾,不支持多行语句。 evalFunction函数用于计算没有局部作用域的函数。 请勿将其移除。 有两种线路模式: default - 捕获该行的错误,但 let 和 const 变量不会保存以供下一行代码使用。 不捕获 - 该行的错误不会被捕获,但所有变量都会被保存以在下一行代码中使用。通过在该行前添加 #! 前缀即可在单行上启用该模式。 注意,我将您的window.onload = …更改为页面完成加载时触发的事件的正确语法。
我有以下代码。如何在屏幕默认加载或刷新时自动触发? 函数屏幕大小(){ const mobile = window.matchMedia('屏幕和(最大宽度:5...
WordPress 在页面重新加载时显示/隐藏不同的 div id
我正在 wordpress 中搜索一个函数。我需要在页面(特定页面)重新加载后随机显示 4 个(隐藏其他)div 之一。请你帮助我好吗? 没有找到我理解的任何解决方案......
React require.context 多个组件重新渲染,加载时图像损坏
我正在画廊工作,对我来说最简单的方法是使用 require.context 导入数百张图像。在第一次使用效果时,我从 2 个不同的文件夹导入相同数量的图像,一个 ...
我正在尝试为我正在玩的浏览器游戏创建一个脚本,使用带有 javascript 的 chrome 脚本扩展。 当我模拟单击按钮时,我很确定它会调出一个新页面...
Xilin的Onload和Solarflare OpenOnload有什么关系
它们是一样的吗?如果不是,它们的区别和关系是什么。 看到Xilin收购了Solarflare,一头雾水的源码很多: 如果我打开 onload 项目页面,它的 README ju ...
脚本元素上的 onload 事件只触发一次,即使我更改了 src。我能做点什么吗?
我认为标题说明了一切。 这是代码: var script = document.createElement('脚本'); script.onload = function(){ console.log('已加载'); }; document.querySelector('hea...</desc> <question vote="0"> <p>我觉得标题说明了一切</p> <p>代码如下:</p> <pre><code><script> var script = document.createElement('script'); script.onload = function(){ console.log('Loaded'); }; document.querySelector('head').appendChild(script); </script> <button onclick="script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js?call_number=' + Date.now(); console.log(script.src)">Load the script no matter how many times we click the button</button> </code></pre> <p>按两次按钮并检查控制台。 <pre><code>onload</code></pre> 事件只调用一次。</p> <p>这是浏览器的预期行为吗?</p> <p>我问是因为脚本可能包含基于 <pre><code>call_number</code></pre> 参数的数据。因为我不能多次调用<pre><code>onload</code></pre>,所以我被迫一次又一次地在文档中插入脚本元素。真令人沮丧。</p> <p>请不要告诉我创建一个函数来插入脚本。那不是我的问题。我的问题是我被迫从 dom 中删除/添加脚本。</p> <p>所以,我再次问:这是浏览器的正常行为还是我做错了什么?</p> </question> </body></html>
我是 JS 的新手,并根据我看到的它的展示复制了这种效果,它应该在悬停时“出现故障”文本,然后使其返回原始文本。 这适用于
我知道有类似的问题,但没有一个是动态改变它的。 我网站上的栏显示了如果我在 onload 函数中动态设置它的第一个选项。 .value 给出...
javascript window.open 不遵循 setInterval 参数?
我有一个非常奇怪的特定项目,它需要在多个窗口弹出窗口中打开许多照片。 (我明白这个的可用性,请暂时绕过它。) 我在跑...
我仍然是编程的初学者。我有这个功能 window.onload = 函数 () { 当前宽度 = window.innerWidth 控制台日志(当前宽度) } 这个函数在 console.log 中显示我...
我有一些SVG动画代码,但是经常当我打开我的网站时,动画在加载的时候就开始了,而不是以它的完整形式出现。
有没有类似onload这样的东西可以用于section标签?
我想做这样的事情。 但是没有效果 另外,我知道动作$('#exp{{flasklist[0]}}').click()......。
当我在.js文件中运行window.onload函数时,该函数没有被触发。 window.onload = function() { ...