语法-文档.将Javascript写入html


Syntax - document.write Javascript into html

我想弄清楚如何将一些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>

所以,我试图使"title"answers"m4a"作为动态变量。我试过了:

<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,有什么建议吗?

我真的不明白为什么你使用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( )中,你只会看到变量名,但这是应该的方式。

试试下面的代码-

<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行开始写&下面的$(document).ready(function(){'作为文档。write将变量写入页面,而不是将其分配给JSON。

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