当前位置: 首页 > 知识库问答 >
问题:

在页面加载之前执行jquery

薄瑞
2023-03-14

这段代码如何在页面加载之前运行它在页面加载之后工作

或者有没有办法让其他行代码等待这部分代码?

  jQuery("#simulation")
        .on("pageload", ".s-d12245cc-1680-458d-89dd-4f0d7fb22724 .pageload", function(event, data) {
            
    var jEvent, jFirer, cases;
    if(data === undefined) { data = event; }
    jEvent = jimEvent(event);
    jFirer = jEvent.getEventFirer();
    if(jFirer.is("#s-Input_1")) {
      cases = [
        {
          "blocks": [
            {
              "actions": [
                {
                  "action": "jimSetValue",
                  "parameter": {
                    "variable": [ "pid" ],
                    "value":productid
                  },
                  "exectype": "serial",
                  "delay": 0
                }
              ]
            }
          ],
          "exectype": "serial",
          "delay": 0
        }
      ];
      event.data = data;
      jEvent.launchCases(cases);
    }
  });

完整的查找文件代码如下:

(function(window, undefined) {
  var dictionary = {
    "d12245cc-1680-458d-89dd-4f0d7fb22724": "Screen 1",
    "f39803f7-df02-4169-93eb-7547fb8c961a": "Template 1",
    "bb8abf58-f55e-472d-af05-a7d1bb0cc014": "default"
  };

  var uriRE = /^(\/#)?(screens|templates|masters|scenarios)\/(.*)(\.html)?/;
  window.lookUpURL = function(fragment) {
      
       if (fragment.indexOf('?') > -1)
{

    var productid=fragment.split("?")[1].split("=")[1];


      jQuery("#simulation")
        .on("pageload", ".s-d12245cc-1680-458d-89dd-4f0d7fb22724 .pageload", function(event, data) {
            
    var jEvent, jFirer, cases;
    if(data === undefined) { data = event; }
    jEvent = jimEvent(event);
    jFirer = jEvent.getEventFirer();
    if(jFirer.is("#s-Input_1")) {
      cases = [
        {
          "blocks": [
            {
              "actions": [
                {
                  "action": "jimSetValue",
                  "parameter": {
                    "variable": [ "pid" ],
                    "value":productid
                  },
                  "exectype": "serial",
                  "delay": 0
                }
              ]
            }
          ],
          "exectype": "serial",
          "delay": 0
        }
      ];
      event.data = data;
      jEvent.launchCases(cases);
    }
  });
  
 fragment="screens/d12245cc-1680-458d-89dd-4f0d7fb22724";
}
    var matches = uriRE.exec(fragment || "") || [],
        folder = matches[2] || "",
        canvas = matches[3] || "",
        name, url;
    if(dictionary.hasOwnProperty(canvas)) { /* search by name */
      url = folder + "/" + canvas;
    }
    return url;
  };

  window.lookUpName = function(fragment) {
    var matches = uriRE.exec(fragment || "") || [],
        folder = matches[2] || "",
        canvas = matches[3] || "",
        name, canvasName;
    if(dictionary.hasOwnProperty(canvas)) { /* search by name */
      canvasName = dictionary[canvas];
    }
    return canvasName;
  };
})(window);

共有1个答案

袁弘方
2023-03-14

你可以隐藏整个身体,并在脚本完成后揭示它。

CSS:

html { visibility:hidden; }

JS:

$(document).ready(function() {
  //Your code
  document.getElementsByTagName("html")[0].style.visibility = "visible";
});
 类似资料:
  • 我在谷歌上搜索了几个小时,但我找不到任何正确的答案!

  • 问题内容: 我正在使用Selenium python Webdriver来浏览某些页面。我想在加载和执行任何其他Javascript代码之前向页面中注入JavaScript代码。另一方面,我需要将我的JS代码作为该页面的第一个JS代码执行。Selenium有办法做到吗? 我用谷歌搜索了几个小时,但找不到合适的答案! 问题答案: 如果您无法修改页面内容,则可以使用代理或在浏览器中安装的扩展程序中使用

  • 我有一个方法,可以为WebView的WebEngine设置一个新的网页,需要等到网页加载完成后才能继续使用当前方法。 基本上我想要: 我尝试过使用ChangeListener(),但它只会在我的方法完成执行后执行。我在谷歌上搜索了许多导致更多挫折感的术语,比如“java非阻塞等待布尔值”。最终,我成功地启动了新线程(以防止应用程序GUI锁定)并使用了倒计时(与Thread.join()相反)。下面

  • 问题内容: 我想在整个页面加载之前运行一些javascript。这可能吗?还是代码开始在上面执行? 问题答案: 不仅 可以 ,但是你必须做出特别的努力, 不 ,如果你不想。:-) 当浏览器在解析HTML时遇到标签时,它将停止解析并移交给运行脚本的Javascript解释器。在脚本执行完成之前,解析器不会继续(因为脚本可能会调用解析器应处理的输出标记)。这是默认行为。有一些标记属性可以更改该行为和并

  • 我想用nodejs中的webdriver来控制一个使用ajax的网站,特别是它总是对服务器有http请求。 我还试图通过按浏览器窗口上的ESC来停止连接。之后,似乎可以立即运行。但我在WebDriver API中没有找到类似的函数。 那么有没有办法解决这个问题呢?任何一种都可以,比如: 无论页面是否加载,立即运行; 类似的webdriver api可以停止页面中的所有活动连接。 https://g

  • 问题内容: 在我的手机网站上。我一直在尝试加载Adsense Mobile广告,但是在页面加载后,它们继续占据整个页面。 我确实发现,如果我禁用了ajax,则该页面将与广告一起很好地加载。这仅在我加载的第二页上有效,因为我单击了带有标签的链接… 这样可以使下一页完美加载。 问题 :由于启用了Ajax,我认为adsense广告会覆盖加载的第一页。 基本上我页面的第一部分是这样的… 我确实尝试禁用代码

  • 问题内容: 我正在使用inside 执行外部脚本。 现在,由于脚本是 在 页面加载 之前 执行的,因此我无法访问。在文档“加载”后(HTML已完全下载并在RAM中),我想执行一些JavaScript。执行脚本时,是否有任何我可以挂上的事件,这些事件将在页面加载时触发? 问题答案: 这些解决方案将起作用: 要么 甚至 请注意, 最后一个选项是更好的选择,因为它不引人注目并且被[认为是更标准的。

  • 我正在使用selenium页面对象模型下面是问题场景我正在使用below命令点击一个元素 driver.findElement(by.xpath(“xxxxxxx”)).click(); 当代码执行上面的行时,在浏览器中已经执行了单击,一个新的页面开始加载,但是代码在上面的行处停留直到整个页面加载。在页面完全加载之前,我无法在任何webelemnet上执行任何操作。下面是代码: WebElemen