首页 > 解决方案 > 从外部(现场)文件调用外部(非现场)文件

问题描述

我有一个多页网站,需要相当多的场外 JS 文件。我希望在我的站点上的所有页面都可以访问的外部文件中调用所有这些文件,以便在必要时轻松进行站点范围的更改。我认为最好表明你想要我的意思是:

我有什么: HTML

<head>
    <script async src="https://www.googletagmanager.com/gtag/js?id=xxxxxxxxxxxxxxx"></script>
    <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'xxxxxxxxxxxxxxxx');
    </script>

    <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
    <script>
      window.OneSignal = window.OneSignal || [];
      OneSignal.push(function() {
        OneSignal.init({
          appId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        });
      });
</script>
<script async src=https://cse.google.com/cse.js?cx=xxxxxxxxxxxxxxxx></script>
<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js></script>
<script src=res/cookie.js defer></script><script>window.addEventListener(load,function(){window.wpcc.init({colors:{popup:{background:#222222,text:#ffffff,border:#b5e1a0},button:{background:#b5e1a0,text:#000000}},position:bottom-right,corners:small,padding:small,margin:large,transparency:5,content:{href:legal/cookie-policy,message:By using our site, you agree to our use of cookies. We use cookies to ensure that you have the best experience on our site!,link:View our Cookie Policy for Details,button:Understand!}})});</script>
</head>

由于某种原因,引号 (") 没有显示在上面的代码中,请注意有引号,并且代码确实有效。

我想要的是:

HTML

<head>
    <script src="/js/load.js"></script>
</head>

加载.js

Some sort of code here that can call all of the scripts.

如果有更好的方法来做到这一点(就像代码中有一个 0px x 0px 的 iframe),它适用于谷歌分析和其他跟踪器,请告诉我!

标签: javascripthtml

解决方案


您可以使用 jQuery“获取脚本”命令,如下所示:

在 HTML 文件中:

//Calls jQuery
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
//Calls external js file
    <script src="/header.js"></script>

header.js:

//Example 1:


$.getScript( "https://cdn.onesignal.com/sdks/OneSignalSDK.js" )
window.OneSignal = window.OneSignal || [];
OneSignal.push(function() {
OneSignal.init({
appId: "c4419c4b-c4d5-4238-ba9c-d19a533845f0",
});
});



//Example 2:

$.getScript( "https://cse.google.com/cse.js?cx=xxxxxxxxxxxxxxxx" )


推荐阅读