Javascript 仅为一个页面加载jqmobile.js文件,并为其他页面删除它
我的桌面应用程序有一个表,其中包含使用JQmobile格式化的crud页面(因为它也用于移动设备)。 当我为这个过程调用任何crud页面时,我当然会加载JQmobile.js文件。问题是,当我尝试调用其他桌面页面时,JQmobile.js仍然被加载,所以所有后续的桌面处理请求都使用JQmobile格式运行。 如何加载此JQmobile.js文件以进行适当的处理,然后在后续桌面处理请求的其余部分中将其删除Javascript 仅为一个页面加载jqmobile.js文件,并为其他页面删除它,javascript,model-view-controller,Javascript,Model View Controller,我的桌面应用程序有一个表,其中包含使用JQmobile格式化的crud页面(因为它也用于移动设备)。 当我为这个过程调用任何crud页面时,我当然会加载JQmobile.js文件。问题是,当我尝试调用其他桌面页面时,JQmobile.js仍然被加载,所以所有后续的桌面处理请求都使用JQmobile格式运行。 如何加载此JQmobile.js文件以进行适当的处理,然后在后续桌面处理请求的其余部分中将其删除 to be more specific, I have a 2 bundles like
to be more specific, I have a 2 bundles like this:
bundles.Add(new ScriptBundle("~/bundles/Mbsa_JSBundle").Include(
"~/Scripts/mbsa_Mobile.js",
"~/ScriptJQMobile-145/jquery.mobile-1.4.5/jquery.mobile-1.4.5.js"
));
bundles.Add(new StyleBundle("~/Content/Mbsa_CSSBundle").Include(
"~/Content/mbsa_Mobile.css",
"~/Content/MbsaMobileStandardCSS/jquery.mobile.icons.min.css",
"~/ScriptJQMobile-145/jquery.mobile-1.4.5/jquery.mobile.structure-`1.4.5.css",`
"~/Content/MbsaMobileStandardCSS/MbsaMobileStandard.css"
));
使用给我答案的用户的示例。
我很想做这样的事情。(但这是另一个脚本标记中的脚本标记。
如果($('body')。是('pagetag')){
如果($('body')。是('pagetag')){
@style.Render(“~/Content/Mbsa_CSSBundle”)
@Scripts.Render(“~/bundles/Mbsa_JSBundle”)
}
})
//这可以正常工作,但如上所述,脚本保持平衡
//请求非jqmobile格式的页面时。
@if((bool)会话[“Mbsa IsMobile”]==false)
{
@style.Render(“~/Content/Mbsa\u DMCSSBundle”)
@Scripts.Render(“~/bundles/Mbsa\u DMJSBundle”)
}
进入非jqmobile格式的页面后,如何删除这些捆绑包?将id或类添加到正文中
<body id="pagetag">
user1675557,请在我编辑的帖子中看到我更具体的问题,谢谢!您不能在这里删除脚本-一旦加载,脚本中的对象和函数将保留在内存中。如果您的页面有不同的URL,那么您可以使用
window.location.href=…
将应用程序更改为导航。否则,您将不得不手动卸载所有jQuery mobile内容。
<body id="pagetag">
$(function(){
if($('body').is('#pagetag')){
// add whatever scripts you need
}
});