YouTube の URL からビデオ ID を取得してエコーする関数の簡単なテストを作成しました。そのままでも問題なく動作しますが、ミックスに jQuery コードを導入すると、このエラーが発生しますNS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument
。エラーは、行 7071 の jquery.js ファイルにコメントを付けています。コードは以下です。
最初のファイル
<script src="http://code.jquery.com/jquery-latest.js"></script>
<input type="text" id="url" />
<input type="button" id="press" value="click" />
<div id="return"></div>
<script type="text/javascript" >
$('#press').click(function () {
$('#url').val();
$.post('ajax_youtube.php', {url:url}, function(data) {
$('#return').html(data);
});
});
</script>
ここにajax_youtube.php
ファイルがあります
<?php
function get_youtube_url($text) {
$text = preg_replace('~https?://(?:[0-9A-Z-]+\.)?(?:youtu\.be/| youtube\.com\S*[^\w
\-\s])([\w\-]{11})(?=[^\w\-]|$)(?![?=&+%\w]*(?:[\'"][^<>]*>| </a>))[?=&+%\w-]*~ix',
'$1', $text);
echo $text;
}
$url = $_POST['url'];
get_youtube_url($url);
?>