Jquery mobile &引用;“媒体未定义”;将Jquery移动脚本添加到标头时

Jquery mobile &引用;“媒体未定义”;将Jquery移动脚本添加到标头时,jquery-mobile,header,Jquery Mobile,Header,我正在尝试开发一个简单的音频播放器。根据网络和stackoverflow中的教程,我能够使音频播放器正常工作 <title>Media Example</title> <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script> <script type="text/javascript" charset="utf-8

我正在尝试开发一个简单的音频播放器。根据网络和stackoverflow中的教程,我能够使音频播放器正常工作

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
正在工作(不带Jquery移动脚本头):

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
因此,我怀疑问题在于头脚本的启动顺序。 问题是,如何以及在何处将Jquery移动脚本插入头中,以便Phonegap媒体工作

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
在这个问题上还有另一条线索,至今还没有答案。谢谢你的帮助

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
编辑: 我已经查出了触发问题。显然,当我添加这个Jquery移动头时

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
<script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>


由于媒体未定义错误,无法播放音乐

好吧,虽然没有直接的解决办法,但我还是从这里得到了灵感:

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
我的Jquery mobile+Phonegap音频播放器经过以下修改后工作良好:

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
1) 先加载cordova.js 2) 其次是jquery mobile.css、jquery.js和jquery mobile.js 3) 主要的问题是,我认为是,我混合了科尔多瓦发射过程和音频播放器的功能。当我将cordova发射过程分离为一个独立的块脚本,音频播放器作为另一个脚本块工作时,它工作得非常出色。 以下是我的代码供参考:

    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
              "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Media Example</title>


    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <link rel="stylesheet" type="text/css" href="jquery/css/jquery.mobile-1.3.1.min.css"/>
    <script type="text/javascript" charset="utf-8" src="jquery/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>

    <script type="text/javascript" charset="utf-8">// Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }</script>

    //Cordova firing process and audio player function script declarations are separated. 

    <script type="text/javascript" charset="utf-8">



    // Audio player
    //
    var my_media = null;
    var mediaTimer = null;

    // Play audio
    //
    function playAudio(src) {
       //some code here


    }

    // Pause audio
    // 
    function pauseAudio() {
        //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
       //some code here

    }

    </script>
  </head>

媒体示例
//等待Cordova加载
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//科尔多瓦准备好了
//
函数ondevicerady(){
}
//Cordova启动过程和音频播放器功能脚本声明是分开的。
//音频播放器
//
var my_media=null;
var mediaTimer=null;
//播放音频
//
功能播放音频(src){
//这里有一些代码
}
//暂停音频
// 
函数pauseAudio(){
//这里有一些代码
}
//停止音频
// 
函数stopAudio(){
//这里有一些代码
}

感谢您访问我的问题,也感谢Omar的回复

在jQuery Mobile之前,您还需要添加jQuery。请检查此项,谢谢您的回复。我添加了jquery-mobile.css,后面是jquery.js,后面是jquery-mobile.js。这个序列可以吗@OmarNow您已经复制了jquery mobile。删除第一个。现在,对于标题,我只有:Jquery、Jquery mobile和Cordova。每当我添加Jquery移动脚本时(请参见编辑注释),播放器都不会播放。但当我删除Jquery移动脚本时,一切都正常。
    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>

    <script type="text/javascript" charset="utf-8">
    var my_media = null;
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {


    }

    // Audio player

    // Play audio
    //
    function playAudio(src) {
       //some code here
    }

    // Pause audio
    // 
    function pauseAudio() {
    //some code here
    }

    // Stop audio
    // 
    function stopAudio() {
        //some code here

    }

    </script>