Jquery/Javascript: 如何删除当前页面未使用的页面的 JS 文件
Jquery/Javascript: How to Remove JS file for a page which is not being used in current page
基本上我的页面有 4 个视图(单个 HTML 页面中有 4 个不同的部分),我根据按钮点击隐藏和显示所需的视图。
对于这 4 个视图,我有 4 个单独的 JS 文件。基于用户所在的页面,我正在使用命令
加载 JS 页面
//Page1
if (current_page == 'Page1') {
$.getScript("/js/Page1.js");
}
我想在用户导航到第二页时删除所有未使用的 JS(用于其他页面的 JS)并且只应加载 Page2.js
,当前当用户导航到第二页(Page1 到 Page2) ) 正在加载 Page1.js
和 Page2.js
。
$.getScript
可以加载 JS,但是有没有命令或方法可以从页面中删除 JS 并动态加载 JS 文件?
Here's 一个很好的 post 解释了它,但是你可以做的是删除你不使用的 <script>
元素:
<script id="page1script" src="/js/Page1.js"></script>
在jQuery中:
if (current_page != 'Page1') {
$("#page1script").html().remove();
}
感谢您的回复,我能够找出问题所在并找到一些解决方法。
基本上我在 Page1 JS 和 Page2 JS 中有一些共同的功能,所以我希望我的 Page2 JS 中的一些功能在我使用 Page1 时不要 运行 但它们正在执行,因为它们使用相同的模式和表单提交ID。
我在 JS 中声明了一个变量,并基于此我确保当我在 Page1
时,Page2 JS 中的函数不会 运行ning
var Page_Checker = "";
//Page1
if (current_page == 'Page1') {
$.getScript("/js/Page1.js");
Page_Checker = "THIS_IS_PAGE1"
}
使用 Page_Checker
并确保函数不在其他 JS 文件中 运行ning。
也许你可以在其他 JS 文件中做这样的事情:
if(Page_Checker != "THIS_IS_PAGE1")
return;
基本上我的页面有 4 个视图(单个 HTML 页面中有 4 个不同的部分),我根据按钮点击隐藏和显示所需的视图。
对于这 4 个视图,我有 4 个单独的 JS 文件。基于用户所在的页面,我正在使用命令
加载 JS 页面 //Page1
if (current_page == 'Page1') {
$.getScript("/js/Page1.js");
}
我想在用户导航到第二页时删除所有未使用的 JS(用于其他页面的 JS)并且只应加载 Page2.js
,当前当用户导航到第二页(Page1 到 Page2) ) 正在加载 Page1.js
和 Page2.js
。
$.getScript
可以加载 JS,但是有没有命令或方法可以从页面中删除 JS 并动态加载 JS 文件?
Here's 一个很好的 post 解释了它,但是你可以做的是删除你不使用的 <script>
元素:
<script id="page1script" src="/js/Page1.js"></script>
在jQuery中:
if (current_page != 'Page1') {
$("#page1script").html().remove();
}
感谢您的回复,我能够找出问题所在并找到一些解决方法。 基本上我在 Page1 JS 和 Page2 JS 中有一些共同的功能,所以我希望我的 Page2 JS 中的一些功能在我使用 Page1 时不要 运行 但它们正在执行,因为它们使用相同的模式和表单提交ID。
我在 JS 中声明了一个变量,并基于此我确保当我在 Page1
时,Page2 JS 中的函数不会 运行ning var Page_Checker = "";
//Page1
if (current_page == 'Page1') {
$.getScript("/js/Page1.js");
Page_Checker = "THIS_IS_PAGE1"
}
使用 Page_Checker
并确保函数不在其他 JS 文件中 运行ning。
也许你可以在其他 JS 文件中做这样的事情:
if(Page_Checker != "THIS_IS_PAGE1")
return;