希望有人可以帮助我。
我正在构建一个简单的小型CMS。在CMS中有一个电影和一个照片页面,其中照片或电影的拇指加载在页面的右侧,在左侧显示照片或电影。
使用Ajax脚本加载显示电影或照片的左侧。问题是电影没有出现。我正在使用jwplayer来播放电影。它由自动生成的链接加载动态:
<a href=\"javascript:ajaxpage('movie-view.php?var1=" .$mov1. "&var2=" . $displayMovieLowPath ."', 'rightcolumn');\">Watch movie 1</a>
Ajax代码看起来像这样(我自己没有写过这个!):
<script type="text/javascript">
/***********************************************
* http://dynamicdrive.com/dynamicindex17/ajaxcontent.htm
***********************************************/
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText;
}
function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
</script>
我认为脚本不会将所有信息发送到使用Ajax加载的movie-view.php页面。
如果我没有使用像这样的Ajax脚本加载页面:
<a href=\"movie-view.php?var1=" .$mov1. "&var2=" . $displayMovieLowPath ."\" target=new>Watch movie 1</a>
页面打开并加载,jwplayer工作正常。
我认为需要在Ajax脚本周围添加一些代码:
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText;
}
但我不知道要添加什么或代码应该如何。
如果是帮助/提示,我在使用Shadowbox.js(http://www.shadowbox-js.com/)显示照片的照片上遇到了同样的问题。单击使用Ajax脚本加载的页面上的拇指时,Shadowbox没有显示,然后我将这段代码添加到脚本中:Shadowbox.setup();所以它结束了这样:
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText;
Shadowbox.setup();
}
希望有人可以帮助我让jwplayer工作。
感谢