我正在尝试在单击链接时更改 Iframe 的 src 值,并从中更改带有 href 的值。单击按钮时,我会阻止默认操作,并将 src 值替换为 url。该代码适用于不是 url 的值,导致 iframe 显示未找到的页面,但在提供有效 url 时不起作用。这是正在使用的页面的代码。
这是我用来运行网站的主要脚本
$.ajaxSetup ({
cache: false
});
$(document).ready(function(){
$('.pageContent').load('home.php');
setInterval("changePage()",250);
});
function changePage(hash)
{
$('.youtubeLink').click(function(e) {
e.preventDefault();
var temp = $(this).attr("href");
//alert (temp);
$('#youtubePlayerFrame').attr('src', temp);
//when using var temp no action occurs
//when testing temp, it does hold the url, if i replace temp with a string such as
//'asdasd' the script works correctly but replaces the frame with a 404 error
})
$(window).hashchange( function(){
if(!hash) hash=window.location.hash;
hash = hash.replace('#','');
if (hash =='')
{
$('.pageContent').load('home.php');
}
}
else
{
$('.pageContent').load( hash + '.php');
hash = null;
}
})
}
此代码是保存 youtube 播放器的主要 div
<?php
echo '
<div class="youtubePlayer" >
<iframe width="420" height="315" id = "youtubePlayerFrame" src="http://www.youtube.com/embed/j8Szl_JyCUQ" frameborder="0" allowfullscreen style="margin-top:34px; margin-left:20px;"></iframe>
</div>
';
include 'sideDirectory.php';
include 'sideMenu.php';
?>
最后一段代码是带有链接的目录的 php 文件
<?php
echo'
<div class="sideDirectory">
<table><tbody>
';
$file = fopen("../data/recentlyAdded.txt","r");
$linksFile = fopen("../data/links.txt","r");
while($line =fgets($file))
{
$url = fgets($linksFile);
// echo '<tr><td>' .$url. '</td></tr>';
echo '<tr><td><a class="youtubeLink" href="'.$url.'">'.$line.'</a></td></tr>';
}
fclose($file);
fclose($linksFile);
echo '
</tbody> </table>
</div>
';
?>