テキスト入力と、ユーザーが再生可能なメディア ファイル (mp4) を参照する URL をテキスト フィールドに入力し、ボタンをクリックする必要があるボタンを含むページがあります。
ボタンをクリックすると、スクリプトが実行され、ajax が URL 値を PHP ファイルに渡します。PHP ファイルはいくつかの検証を行い、応答を返します。
すべてが問題なければ、DIV タグを JW プレーヤーに置き換える必要があり、ユーザーはメディアを再生できます。
DIVタグをプレーンテキストまたは画像に置き換えてプロセス全体をテストしたところ、スムーズに機能しました
そして、それをjwプレーヤーコンポーネントに置き換えようとすると、何も表示されません
jw を HTML コードに直接挿入してテストしたところ、スムーズに動作しました
これが完全な index.html です
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/ajax4/jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="RXVe0CXFsIS8pAar5ezgSLJqb9jfx7rDOBxkVw==";</script>
<script type="text/javascript"><!--
function get_XmlHttp() {
var xmlHttp = null;
if(window.XMLHttpRequest) { // for Forefox, IE7+, Opera, Safari, ...
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject) { // for Internet Explorer 5 or 6
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttp;
}
// sends data to a php file, via POST, and displays the received answer
function ajaxrequest(php_file, tagID) {
var request = get_XmlHttp(); // call the function for the XMLHttpRequest instance
// create pairs index=value with data that must be sent to server
var hiturl = document.getElementById('hit').value;
var the_data = 'hiturl='+hiturl;
request.open("POST", php_file, true); // set the request
// adds a header to tell the PHP script to recognize the data as is sent via POST
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(the_data); // calls the send() method with datas as parameter
// Check request status
// If the response is received completely, will be transferred to the HTML tag with tagID
request.onreadystatechange = function() {
if (request.readyState == 4) {
document.getElementById(tagID).innerHTML = request.responseText;
}
}
}
--></script>
</head>
<body>
<form action="test_form.php" method="post" name="form1" onsubmit="ajaxrequest('hitphp.php', 'myDiv'); return false;">
<label for="name" id="name_label">hit URL: </label>
<input type="text" name="hit" id="hit" size="100" />
<input type="submit" value="Enter hit UrL" />
</form>
<div id="myDiv"></div>
</body>
</html>
および hitphp.php ファイル
<?php
// if data are received via POST
if (isset($_POST['hiturl'])) {
// get data into variables, deleting the html tags
$hiturl = strip_tags($_POST['hiturl']);
// if the form fields are completed
if (true) {
if (true) {
echo'<div id="myElement">nnnnn.....</div><script type="text/javascript">
jwplayer("myElement").setup({
type:"mp4",
bufferlength: "60",
file: "mediaurl",
});
</script>';
}else{
echo 'sorry not a valid url';
}
}
else {
echo 'Fill in all form fields';
}
}
?>