首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Jquery脚本添加到标头时,“媒体未定义”

将Jquery脚本添加到标头时,“媒体未定义”
EN

Stack Overflow用户
提问于 2013-06-14 14:39:47
回答 1查看 436关注 0票数 0

我正在尝试开发一个简单的音频播放器。遵循从网络和堆栈溢出的教程,我能够使音频播放器工作。

工作(没有Jquery移动脚本头):

代码语言:javascript
运行
复制
    <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>

我在阅读这个站点之后所做的一个改进是将var my_media = null;放在onDeviceReady()之前

问题:因为我想在Jquery中实现这个音频播放器,所以我将Jquery脚本添加到标题中,如下所示:

代码语言:javascript
运行
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
              "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>

<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>
    <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
    //
    // code truncated for simplicity

不幸的是,在添加Jquery移动脚本头之后,Eclipse日志显示:

代码语言:javascript
运行
复制
Uncaught ReferenceError: Media is not defined 

因此,我怀疑问题是头脚本启动序列。问题是,如何在头中插入Jquery脚本,以便Phonegap媒体工作?

在这个问题上还有另一条线索,仍然没有答案。感谢你的帮助。

编辑:,我已经追踪到触发问题。显然,当我添加这个Jquery-移动头时

代码语言:javascript
运行
复制
<script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-17 05:50:49

好吧,虽然没有直接的解决办法,但我还是从这里得到了灵感:jQuery Mobile & PhoneGap deviceReady() not fired

经过以下修改后,我的Jquery移动+ Phonegap音频播放器工作良好:

1)先加载cordova.js

2)其次是jquery mobile.css、jquery.js和jquery mobile.js。

3)主要的问题是,我把cordova的射击过程和音频播放器的功能混合在一起。当我将cordova发射过程分离为一个独立的块脚本和音频播放器作为另一个脚本块时,它的工作非常出色。以下是我的代码供参考:

代码语言:javascript
运行
复制
<!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>

谢谢你访问我的问题,也感谢奥马尔的答复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17111057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档