【问题标题】:dynamically add route to script src on an html page在 html 页面上动态添加到脚本 src 的路由
【发布时间】:2017-06-17 21:59:05
【问题描述】:

我想在 html 页面上动态添加到脚本 src 的路由。 例如,

<script src="../../../library/vendor/jquery/jquery-3.1.1.min.js"></script>

当我使用 Web 服务器并加载此代码时,无法正常工作。也许它应该放置网络服务器 url 前缀。所以我想在下面更改。

<script src="mySite/../../../library/vendor/jquery/jquery-3.1.1.min.js"></script>

或者, 根相对路径设置的其他内容?

【问题讨论】:

    标签: javascript html dynamic server src


    【解决方案1】:

    这不能仅通过 html 或 javascript 来实现。您至少需要一个能够在将 html 发送到浏览器之前“渲染”您的 html 并替换“mySite”的框架。

    JSF 2.x 中的示例如下所示:

    <link href="#{request.contextPath}/css/style.css" rel="stylesheet" type="text/css"/>
    

    或百里香叶:

    <a th:href="@{/order/list}">
    

    如果您想开发例如一个单页网站,其中内容由 ajax 动态替换,那么您至少需要一个由该框架之一动态创建的页面。

    【讨论】:

      【解决方案2】:

      使用下面的 JavaScript 代码:

          var scr = document.createElement('script');
          var myurl = 'http://example.com/myjavascript.js'
          scr.setAttribute('src',myurl);
      
          document.head.appendChild(scr);
      

      或者你可以创建一个这样的函数:

      function addMyScript(url) {
        var scr = document.createElement('script');
        scr.setAttribute('src', url);
        document.head.appendChild(src);
      }
      

      您可以动态决定您的网址并通过将其作为参数传递来调用该函数:

      addMyScript('http://example.com/myjavascript.js');
      

      【讨论】:

      • 哦,我没想到。好的,您必须从您呈现的第一个 html 开头的某个地方获取“myUrl”。
      猜你喜欢
      • 2016-08-19
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 2011-07-27
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      相关资源
      最近更新 更多