AJAX将外部页面加载到div中,无javascript
我一直在尝试整个问题,但没有在哪里解决这个问题. 我正在开发一个新网站,并希望它在Lightbox中显示一个网页,并在主页上添加了一个外部页面,两者都成功地分开了,但是直到我合并后,我才遇到了问题. 我的目的是让Ajax将外部页面添加到DIV中,然后从该DIV加载Lightbox,尽管这是问题所在的地方,因为我无法从中运行任何形式的JavaScript - 我的Ajax代码(来自DynamicDrive)
- var loadedobjects=""
- function LoadPage(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
- }
我已经尝试了评估和许多其他方法,但是没有运气,但是我对Ajax / JavaScript是新手
- <title>index page</title>
- <!-- CSS !-->
- <link rel="stylesheet" href="css/lightbox.css" media="screen,projection" type="text/css" />
- <link rel="stylesheet" href="css/website.css" media="screen,projection" type="text/css" />
- <!-- JavaScript !-->
- <script type="text/javascript" src="scripts/java.js"></script>
- <script type="text/javascript" src="scripts/prototype.js"></script>
- <script type="text/javascript" src="scripts/lightbox.js"></script>
- </head>
- <body onLoad="LoadPage('houses.php', 'hlist');">
我试图允许JavaScript加载的新页面使用" Lightbox.js"和" Prototype.js"中包含的JavaScript 希望这能更好地解释我的问题,并感谢您到目前为止的帮助
- new Lightbox;
AP之后 等待内容. 如果有效的话,我们可以尝试改进一点:) 亲切的问候
- function loadpage(page_request, containerid) {
- if (page_request.readyState == 4
- && (page_request.status == 200
- || window.location.href.indexOf("http") == -1)) {
- var d = document.getElementById(containerid);
- d.innerHTML = page_request.responseText;
- new lightbox(d.getElementsByTagName('A')[0]);
- }
- }
因此,只有带有有问题节点的灯箱的重盒可以解决问题... 亲切的问候
- var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
- var loadedobjects=""
- var rootdomain="http://"+window.location.hostname
- var bustcacheparameter=""
- 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)
- }
- if (bustcachevar) //if bust caching of external page
- bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
- page_request.open('GET', url+bustcacheparameter, 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(){ // Load css,js for imported page
- 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
- }
- }
- }
- window.onload = function init(){
- ajaxpage("main.html","mainDiv");
- ajaxpage("left.html","leftDiv");
- }
主 - 索引html头标签:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>::----- ::</title>
- <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
- <script src="js/ajax.js" type="text/javascript"></script>
不起作用的操作(应该加载外部装饰盒或Lightbox或Tickbox Image Gallery页面以使用所有依赖性文件):
- <a href="javascript :ajaxpage('jq.html','main');
- loadobjs('tickbox-code/jquery-1.1.3.1.pack.js','tickbox-code/thickbox.js','tickbox-code/thickbox.css');">test
- //Note that function loadobjs() can invoke any number of CSS and external JavaScript files
因此,现在我可以在" Main" Div中加载外部(IMG画廊)页面,但是当单击缩略图时,我会撞到墙壁,它可以按照预期打开新窗口. 请一些建议. 谢谢你. PS"对不起我的英语不好" 嘿:),我想完全按照命中量扩展时发生的事情 - 该论坛中的代码按钮!!!
- <script type="text/javascript"><!--
- adsize="468x60";
- adsection="xxxx";
- //--></script>
- <script type="text/javascript" src="http://blabla.com/ad.js"></script>
因此,脚本中的JavaScript变量告诉您什么样的AD和外部脚本将生成HTML代码,该代码应在我的Ajax页面上特别列出. 问题是. 我可以评估Adsize和Adsection变量. 我还可以动态加载外部JavaScript文件AD.JS,但是一旦我这样做,它将打开一个新窗口并在该新窗口中显示AD. 我如何获取此外部JavaScript文件的内容并Innerhtml在我的Ajax页面上的DIV中,而无需出现此新窗口. 欢呼拉尔斯
- if(!smowtion_counter){var smowtion_counter=1;var smowtion_i=0;var smowtion_log='section='+smowtion_section;var smowtion_vurl=escape(location.href);var smowtion_vref=escape(document.referrer);var script=document.createElement('script');script.type='text/javascript';script.src='http://sw-sess-lb-1763240709.us-east-1.elb.amazonaws.com/session.php?'+smowtion_log;document.getElementsByTagName('head')[0].appendChild(script)}
- if(smowtion_i++<5){smowtion_ad_size=smowtion_size.split('x');if(typeof(smowtion_iframe) == "undefined"){
- document.write('<SCR' + 'IPT TYPE="text/javascript" SRC="http://ad.smowtion.com/st?ad_type=ad&ad_size='+smowtion_size+'§ion='+smowtion_section+'"></SCR' + 'IPT>');}}
我发现问题必须在最后一个外部脚本中 http://ad.smowtion.com/st?ad_type=ad...section = 844517 . 我不敢相信没有其他人遇到这个问题. 如果您想在Ajax页面之一中显示Google Ads(Adsense),也会发生这种情况. 并且无法过滤所有外部JavaScript文件以供代码,例如window..open或location.href. 我不太了解一件事. 如果我通过ajax运行它,并且当我在普通页面上使用它时,该外部JavaScript文件的内容如何在空白窗口中加载? 欢呼拉尔斯
标签: Javascript