仅为一个页面加载jqmobile.js文件,并将其删除以用于其他页面

时间:2016-02-17 00:37:17

标签: javascript model-view-controller

我的桌面应用程序有一个表格,其中包含使用JQmobile格式化制作的粗略页面(因为它也用于移动设备)。    当我为此过程调用任何crud页面时,我加载JQmobile.js文件。问题是,当我尝试调用其他桌面页面时,JQmobile.js仍然被加载,因此所有后续桌面处理请求都以JQmobile格式运行。    如何加载此JQmobile.js文件以仅进行适当的处​​理,然后在其余的后续桌面处理请求中将其删除?

 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"
    ));

使用给我答案的用户示例。   我很乐意做这样的事情。 (但这是一个脚本标记within another script tag).

    <body id="pagetag"></body>    
    <script>   

    if($('body').is('#pagetag')){
       if($('body').is('#pagetag')){
       @Styles.Render("~/Content/Mbsa_CSSBundle")
       @Scripts.Render("~/bundles/Mbsa_JSBundle")
       }
    })

     </script>

    // This works ok, but as stated, the scripts remain even 
    // when a non jqmobile formated page is requested.

     @if ((bool)Session["Mbsa-IsMobile"] == false)
        {
            @Styles.Render("~/Content/Mbsa_DMCSSBundle")
            @Scripts.Render("~/bundles/Mbsa_DMJSBundle")
        }

一旦我进入非jqmobile格式页面,我该如何删除这些包?

1 个答案:

答案 0 :(得分:0)

将id或类添加到body

<body id="pagetag">

然后添加一个脚本

$(function(){
  if($('body').is('#pagetag')){
   // add whatever scripts you need 
   }
});