语法 - document.write Javascript到html

时间:2015-10-11 19:42:31

标签: javascript php

我试图弄清楚如何将一些PHP变量传递给Javascript,以便可以通过html调用它们。以下是我试图使用的jplayer.org的原始标记:

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){

    $("#jquery_jplayer_1").jPlayer({
        ready: function (event) {
            $(this).jPlayer("setMedia", {
                title: "Bubble",
                m4a: "http://jplayer.org/audio/m4a/Miaow-07-Bubble.m4a"
            });
        },
        swfPath: "../../dist/jplayer",
        supplied: "mp3",
        wmode: "window",
        useStateClassSkin: true,
        autoBlur: false,
        smoothPlayBar: true,
        keyEnabled: true,
        remainingDuration: true,
        toggleDuration: true
    });
});
//]]>
</script>

所以,我试图制作&#34;标题&#34;和&#34; m4a&#34;动态变量。我试过这个:

<script>
    var audio_file = '<?php echo $full_audio; ?>'; 
    var audio_title = '<?php echo $title; ?>';
</script>

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){

    $("#jquery_jplayer_1").jPlayer({
        ready: function (event) {
            $(this).jPlayer("setMedia", {
                title: document.write(audio_title);,
                m4a: document.write(audio_file);
            });
        },
        swfPath: "../../dist/jplayer",
        supplied: "mp3",
        wmode: "window",
        useStateClassSkin: true,
        autoBlur: false,
        smoothPlayBar: true,
        keyEnabled: true,
        remainingDuration: true,
        toggleDuration: true
    });
});
//]]>
</script>

但是当我检查html而不是添加变量时,我得到了实际的文本

"title: document.write(audio_title);,
m4a: document.write(audio_file);"

我是不是对Javascript过于精通,有什么建议吗?

3 个答案:

答案 0 :(得分:0)

我真的不明白您为什么要使用document.write( )jPlayer( )中设置这些配置变量。您是否尝试过调用Javascript变量?还要确保将两个变量设置为您正在调用PHP的正确值。

试试这个:

<script>
    var audio_file = '<?php echo $full_audio; ?>'; 
    var audio_title = '<?php echo $title; ?>';
</script>

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){

    $("#jquery_jplayer_1").jPlayer({
        ready: function (event) {
            $(this).jPlayer("setMedia", {
                title: audio_title,
                m4a: audio_file
            });
        },
        swfPath: "../../dist/jplayer",
        supplied: "mp3",
        wmode: "window",
        useStateClassSkin: true,
        autoBlur: false,
        smoothPlayBar: true,
        keyEnabled: true,
        remainingDuration: true,
        toggleDuration: true
    });
});
//]]>
</script>

为了澄清,您只会看到设置它们的$audio_file$audio_title的值。在jPlayer( )中,您只会看到变量名称,但这应该是它应该的样式。

答案 1 :(得分:0)

尝试以下代码 -

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
    ready: function (event) {
        $(this).jPlayer("setMedia", {
            title: audio_title,
            m4a: audio_file
        });
    },
    swfPath: "../../dist/jplayer",
    supplied: "mp3",
    wmode: "window",
    useStateClassSkin: true,
    autoBlur: false,
    smoothPlayBar: true,
    keyEnabled: true,
    remainingDuration: true,
    toggleDuration: true
});
});
//]]>
</script>

我刚从第4行和第4行删除了document.write。 5下面&#39; $(文档).ready(function(){&#39; as document.write将变量写入页面而不是将其分配给JSON。

答案 2 :(得分:0)

PHP是服务器端语言,javascript是客户端。您必须将该php值存储在任何隐藏的输入类型中。然后你可以访问它。