Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOMContentLoaded和turbolinks:load不会在动态加载的脚本上触发,并加载第一页(加载时不加载turbolinks)_Javascript_Ruby On Rails_Turbolinks_Domcontentloaded_Dynamic Script Loading - Fatal编程技术网

Javascript DOMContentLoaded和turbolinks:load不会在动态加载的脚本上触发,并加载第一页(加载时不加载turbolinks)

Javascript DOMContentLoaded和turbolinks:load不会在动态加载的脚本上触发,并加载第一页(加载时不加载turbolinks),javascript,ruby-on-rails,turbolinks,domcontentloaded,dynamic-script-loading,Javascript,Ruby On Rails,Turbolinks,Domcontentloaded,Dynamic Script Loading,“turbolinks:load”不会在直接加载的页面上触发,但在使用turbolinks加载的页面上,“turbolinks:load”事件工作正常 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="https://rawgit.com/turbolinks/turbolinks/master/dist/turbolinks.js"></scrip

“turbolinks:load”不会在直接加载的页面上触发,但在使用turbolinks加载的页面上,“turbolinks:load”事件工作正常

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="https://rawgit.com/turbolinks/turbolinks/master/dist/turbolinks.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <title>
        test
    </title>
    <script>
      function loadScript(src) {
        if(!document.querySelector("script[src='"+src+"']")){
          var n = document.createElement("script");
          n.src = src;
          n.async = false;
          document.getElementsByTagName("head")[0].appendChild(n);
        };
      };
    </script>
  </head>
  <body>
    <p style='color:red'>
      Hi Priority Rendering With inline css to improve start render
    </p>
    <script type="text/javascript">
      loadScript("dynamic_load_turbolinks_script.js");
    </script>
  </body>
</html>
以上代码的浏览器控制台输出为

dynamic_load_turbolinks_script.js:1 This file will contain all functionally required script
dynamic_load_turbolinks_script.js:6 Inside window onload
dynamic_load_turbolinks_script.js:12 Inside document ready

我知道问题是因为动态脚本是在DOM解析之外执行的,但是,有什么方法可以实现所需的行为吗?

这里也有同样的问题:(
dynamic_load_turbolinks_script.js:1 This file will contain all functionally required script
dynamic_load_turbolinks_script.js:6 Inside window onload
dynamic_load_turbolinks_script.js:12 Inside document ready