【问题标题】:Define variable before javascript load在javascript加载之前定义变量
【发布时间】:2014-07-05 15:56:37
【问题描述】:

我注意到您无法导入 javascript 文件并在同一 <script> 中定义变量。

这是我的问题:

<script type="text/javascript" src="js.js">
var id = "587587";
</script>

有没有办法在变量之后加载javascript而不使用另一个&lt;script&gt;标签?

【问题讨论】:

  • 为什么只是使用另一个脚本标签...?!
  • 您可以先定义变量,然后在 javascript 中执行类似document.write('&lt;script src="js.js"&gt;&lt;\/script&gt;') 的操作。不过话说回来,为什么不手动插入脚本标签呢?
  • 因为我将把它实现到一个系统中,用户会将代码复制到他们自己的网站中,所以它需要干净。
  • 以编程方式编写脚本标签通常是大多数分析脚本所做的。但有些还使用第二个脚本标签。 IMO 并没有更糟,用户无论如何都需要复制和粘贴一些无意义的 blob,他几乎不会关心那个 blob 到底包含什么。
  • @George - 也许您可以提出(可能是不同的)问题,以说明您要解决的问题,而不是解决无法使用脚本标签之类的问题你要。您可能会得到更好的答案。

标签: javascript variables external var


【解决方案1】:

如果script 标记具有src 属性,则脚本标记之间的任何内容都会被忽略。你可以做这样的事情的唯一方法是动态添加一个新的脚本标签,像这样丑陋的黑客攻击。

<script type="text/javascript">
var id = "587587";
document.write('<script type="text/javascript" src="js.js"><\/script>');
</script>

在带有 id 的标签之前使用另一个脚本标签肯定是更可取且更短的解决方案。

【讨论】:

    【解决方案2】:

    src

    此属性指定外部脚本的 URI;这可以是 用作将脚本直接嵌入到 文档。指定了 src 属性的脚本元素不应该 在其标签中嵌入一个脚本。

    http://developer.mozilla.org/en-US/docs/Web/HTML/Element/script.html

    所以,您要么有一个外部脚本,要么在 &lt;script&gt; 标记内有一些东西。你不应该同时拥有两者;我不确定这是否真的有什么作用。

    使用第二个脚本标签。

    【讨论】:

    • .scr-having 标签的内容不会“做任何事情”,但它们会被任何其他脚本呈现在 dom 中。
    • @dandavis "...当您已经拥有 src 属性时,是否在标签中包含源代码会做任何事情..."
    【解决方案3】:

    脚本元素必须在脚本开始和结束标记之间包含脚本代码,或者通过 src= 属性引用外部脚本代码。它不能两者兼得。但是,您的外部代码可以通过 DOM(文档对象模型)引用 HTML 的详细信息。因此,您可以将任何 HTML 元素(例如文本输入字段)视为要传递给外部 javascript 的参数,例如可以在其中读取它。 var param = document.getElementById('param').innerHTML;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多