【问题标题】:How to use the same javascripts in multiple content pages? [duplicate]如何在多个内容页面中使用相同的 JavaScript? [复制]
【发布时间】:2017-08-09 09:09:16
【问题描述】:

在我的所有 multiple 内容页面中,<script> 标记中有 4 个 javascript。他们处理弹出窗口并在按钮单击时禁用其他按钮。所以目前我在每个页面上都有很多重复的脚本代码。

是否可以将这些脚本放在母版页中,并让我的所有内容页面都引用它们?如果是这样,我应该将它们放在母版页中的什么位置,以及如何在单击按钮时引用它们?

我已经搜索了谷歌,但没有找到任何好的答案。

编辑1:处理重复标记。

我主要是想在这里避免重复代码,这就是为什么我想把它放在我的母版页中。如果可以将我的脚本放在 JS 文件中,请将其包含在母版页上,并让我的所有内容页面从那里访问脚本。那么这绝对是我问题的解决方案,并且很乐意接受描述我如何做到这一点的答案。需要明确的是,我还没有找到如何做的访问部分。

但只是说“将脚本放入 JS 文件并将文件包含在您的页面上”之类的话,不是解决我的问题的方法,因为它只是隐藏了文件中的重复性。

编辑 2:我现在尝试过的。

根据下面 M Idrees 的回答,我已将我的脚本放入位于我的项目 Scripts 文件夹中的 buttonScripts.js。我将它添加到我的母版页的头部:

<head runat="server">
    <script type="text/javascript" src="~/Scripts/buttonScripts.js"></script>
    ...
</head>

我保留了按钮上的点击功能:

<button ... onclick="if (!myFunc(this)) { return false; }"></button>

然后我从内容页面中删除了脚本并启动了我的网络应用程序。现在我收到错误“myFunc 未定义”。这就是我上面所说的“这是我还没找到怎么做的访问部分”的意思。

编辑 3: 我很烂。

如上所示,尝试使用相对路径。使用正确的路径:

<head runat="server">
    <script type="text/javascript" src="Scripts/buttonScripts.js"></script>
    ...
</head>

它按预期工作。谢谢!

【问题讨论】:

  • 将它们从&lt;script&gt;标签中取出,将它们放在一个外部JS文件中,然后从你的每个页面引用该JS文件
  • 把你的脚本放到一个外部文件中,然后使用 。
  • @NickA 仅仅因为您的解决方案是将我的脚本放在 JS 文件中,这不会使我的问题重复。这个问题对该解决方案和其他解决方案开放。
  • @iquellis 我可以把它放在我的母版页中,还是我仍然必须在我的所有内容页面上都有重复的代码?
  • @Skillzore 如果您将其添加到您的母版页,它将被添加到您使用母版页的每个页面上。意思是如果有超过你提到的 4 页。其他页面会收到不需要的 JS 文件。

标签: javascript asp.net master-pages


【解决方案1】:

在母版页的 head 标记内。添加您的脚本参考,例如:

<script type="text/javascript" src="path/to/script.js"></script>

从您的内容页面中删除所有其他脚本引用。它将自动从母版页获取。

关于你的观点:这是访问部分,我还没有找到怎么做。

您无需对访问脚本代码进行任何更改。它会像现在一样工作。

执行这些步骤,如果仍然有任何问题,请在此帖子中更新。

【讨论】:

  • 我制作了 JS 文件,将其包含在母版页头中,删除了其他脚本并尝试单击我的按钮。 “函数未定义”...这就是我所说的访问部分。
  • 您能否分享母版页的代码,以及您遇到此错误的任何一个内容页。
  • 没关系,我尝试使用相对路径,您可以在我的帖子的编辑 2 中看到。现在它起作用了。谢谢!
  • 太棒了。很高兴它有效。
猜你喜欢
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-10
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
相关资源
最近更新 更多