javascript - PHP stringID 未从 echo 中读取 onclick

标签 javascript php url audio

我有一个在 HTML 中工作正常的音频播放器,但是当我从 PHP echo 调用 if 时,它似乎没有获取 div ID 的名称,因此它不会播放我的音频。 这是我的代码:

// Show audio
if ($sObj->get('audio') != null) {
    $sAudio = $sObj->get('audio');
    $audioURL = $sAudio->getURL();
    $playerName = 'player';
    echo '
    <audio id="player" ontimeupdate="updateTime()" src="'.$audioURL.'"></audio>
    <a class="btn btn-primary btn-round" id="songPlay" onclick="play('.$playerName.')"> --> THE ISSUE SEEMS TO BE HERE...

<i class="fa fa-play"></i></a>
<a class="btn btn-primary btn-round" id="songPause" onclick="pause()"><i class="fa fa-pause"></i></a>
<a class="btn btn-primary btn-round" id="songStop" onclick="stopSong()"><i class="fa fa-stop"></i></a>
<div id="songTime"><strong>0:00 / 0:00</strong></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
';
}

由于某种原因,播放器无法播放我的音频,音频 URL 是正确的,因为如果我在 HTML 文件中使用相同的音频标记和代码,它就可以正常工作。

我在 PHP 中做错了什么?

谢谢!

最佳答案

PHP 字符串不是多行的。这意味着您不能简单地插入换行符。

您必须使用heredoc语法:

$str = <<<STR1
line1
line2
line3
...
STR1;

或者您可以使用 "\n" 分割行:

$str = 
    "line1\n" .
    "line2\n" .
    "line3";

您仍然可以插入变量:

echo <<<HTML
    <audio id="player" ontimeupdate="updateTime()" src="$audioURL"></audio>
    <a class="btn btn-primary btn-round" id="songPlay" onclick="play('$playerName')"><i class="fa fa-play"></i></a>
    <a class="btn btn-primary btn-round" id="songPause" onclick="pause()"><i class="fa fa-pause"></i></a>
    <a class="btn btn-primary btn-round" id="songStop" onclick="stopSong()"><i class="fa fa-stop"></i></a>
    <div id="songTime"><strong>0:00 / 0:00</strong></div>
    <div id="songSlider" onclick="setSongPosition(this,event)">
        <div id="trackProgress"></div>
    </div>
HTML;

关于javascript - PHP stringID 未从 echo 中读取 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49389140/

相关文章:

perl - 如何在 Perl 中从两个组件创建绝对 URL?

web-applications - 我如何使用 www.domain.org/#!/topic/item 样式的 URL,它们叫什么?

php - : "route name not defined" when it's already defined如何解决

php - jquery 发布和响应操作

javascript - :checked not working when input tag is inside label tag CSS

javascript - aws 将对象上传到 S3 存储桶并将数据详细信息传递给 lambda

php - 如何在php中的一个mysql查询中删除2个表中的数据?

java - 如何通过传递 json URL 使 URL 中的空格可读

javascript - 如何从 React 状态数组中删除未选中的复选框?

javascript - 如何从不同输入的模态中获取值