【发布时间】:2017-01-17 19:08:02
【问题描述】:
我有一个 HTML 页面,它使用以下代码从 PHP/MySQL 设置注入代码:
<div id="inject">Let AJAX change this text.</div>
<script>
function loadDoc() {
var xhttp;
if (window.XMLHttpRequest) {
// code for modern browsers
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("inject").innerHTML = this.responseText;
}
};
xhttp.open("GET", "../../php-test.php", true);
xhttp.send();
}
loadDoc();
</script>
我这样做是为了构建一个播客列表。在注入的代码中包含此音频:
<audio controls>
<source src="http://www.w3schools.com/html/horse.ogg" type="audio/ogg">
<source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg">
<a href="http://www.w3schools.com/html/horse.mp3">horse</a>
An html5-capable browser is required to play this audio.
</audio>
我正在调用 jquery + bootstrap + 播放器的脚本,但我似乎无法让它在注入的代码上运行。我尝试在几个地方调用代码(在父级上使用 defer,在使用 img/onload-trick 的注入代码内,等等) 如果我只是将上面的‹audio›放在父文档中(没有注入),它就可以完美地工作。 我希望能够使用 AJAX 制作音轨,因为播放器的数量取决于我的 PHP/MySQL。 如何让脚本影响‹audio›? 有趣的是,我用于布局的手风琴(bootstrap.js 的一部分)在注入的代码中工作得很好。 问题还取决于浏览器,其中 Safari 可以正常工作,而 Chrome 和 Firefox 不能正常工作。 详情请咨询。
【问题讨论】:
标签: javascript php jquery twitter-bootstrap xmlhttprequest