Jquery移动页面在Visual Studio中不起作用

Posted

技术标签:

【中文标题】Jquery移动页面在Visual Studio中不起作用【英文标题】:Jquery mobile page not working in visual studio 【发布时间】:2017-01-26 10:44:01 【问题描述】:

编辑:我完全重新制作了项目,更新后仍然无法工作。 Visual Studio v.14.0.25431.01 更新 3 和 Apache Cordova 更新 10 的工具。 我已经尝试过 AVD google android 模拟器,同样的事情。

我正在使用 Visual Studio 2015 v.14.0.24720.00 我在视觉工作室制作了 Cordova(v.3.0.0) 项目。 在工具-> NuGet 包管理器-> 管理解决方案包处安装了 Jquery 3.1.0 和 JQuery mobile 1.4.5。 然后将文件从 Content/ 移动到 www/css/ 并从 Scripts/ 移动到 www/scripts/ 从 index.js 中删除了这些行:

var element = document.getElementById("deviceready");
element.innerhtml = 'Device Ready';
element.className += ' ready';

就像在本教程中一样https://taco.visualstudio.com/en-us/docs/get-started-first-mobile-app/

这里是 index.html

<!DOCTYPE html>
<html>
    <head>
    <!--
        Customize the content security policy in the meta tag below as needed. Add 'unsafe-inline' to default-src to enable inline javascript.
        For details, see http://go.microsoft.com/fwlink/?LinkID=617521
    -->
        <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

        <link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.4.5.min.css">
        <link rel="stylesheet" type="text/css" href="css/index.css">

        <title>project name</title>
    </head>
    <body>

        <div data-role="page" id="pageone">
            <div data-role="header">
                <h1>Insert Page Title Here</h1>
            </div>

            <div data-role="main" class="ui-content">
                <p>Insert Content Here</p>
            </div>

            <div data-role="footer">
                <h1>Insert Footer Text Here</h1>
            </div>
        </div> 

        <script type="text/javascript" src="scripts/jquery-3.1.0.min.js"></script>
        <script type="text/javascript" src="scripts/jquery.mobile-1.4.5.min.js"></script>

        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="scripts/platformOverrides.js"></script>
        <script type="text/javascript" src="scripts/index.js"></script>
    </body>
</html>

index.css 也是空的。

我以前做过一个 Cordova 项目,但这次我尝试使用最新的 jquery 库创建新项目时遇到了这个问题。当我在 Ripple-emulator 上运行它时,页面不会加载 jquery-mobile css 和功能。它只显示文本原样,h1-tags 应该更大。

我得到了这个错误

Uncaught TypeError: Cannot read property 'concat' of undefined
jquery.mobile-1.4.5.min.js (4,5780)

【问题讨论】:

我目前正在更新我的 Visual Studio,如果可以解决的话.. [***.com/questions/39455923/… 我完全重新制作了项目,更新后仍然无法正常工作。 Visual Studio v.14.0.25431.01 更新 3 和 Apache Cordova 更新 10 的工具。 您将 Ripple 作为 chrome 扩展运行还是按照本文中的说明运行:raymondcamden.com/2013/11/05/Ripple-is-Reborn?我在将它用作 Chrome 扩展程序时遇到了问题,但如果我按照文章的方式设置它,它就可以正常工作。 (并与 jquery 一起使用) @nyluje 我确实将它作为 chrome 扩展运行,我也用 google android 模拟器测试了该项目,它显示相同:带有 h1-tags 的基本文本有点大。但是 jquery/mobile 的所有功能都没有显示出来。 安卓模拟器是安卓虚拟设备吗?或者它是另一个浏览器测试应用软件,如ripple?如果它是 Android 虚拟设备,我想我已经完成了我可以给你的提示。如果它是另一个浏览器测试应用软件,也许您应该进一步研究如何运行 Ripple 而不是作为 chrome 扩展。你在真机上试过了吗? 【参考方案1】:

在同样的问题上苦苦挣扎。似乎问题在于 jQuery.mobile 对于某些版本的 jQuery 被锁定。您应该可以使用 jQuery 版本 2.x.x.,但版本 3.x.x。可能会导致您描述的错误。卸载 jQuery 3.1.1。并安装 jQuery 2.2.4。为我解决了这个问题。

找到类似问题的答案:jquery.mobile 1.4.5 Uncaught TypeError: Cannot read property 'concat' of undefined

【讨论】:

以上是关于Jquery移动页面在Visual Studio中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 中的 Jquery 没有智能感知

使用jQuery和Visual Studio SPA模板

Visual Studio 2017 Enterprise中的jQuery智能感知[重复]

visual studio编译错误集(转)

async 不会在 Visual Studio 2015 中调用移动构造函数

在Visual Studio中使用C#有办法让一个面板缓慢移动吗?