gpt4 book ai didi

Javascript 不会加载到 ajax div

转载 作者:行者123 更新时间:2023-11-29 22:16:52 25 4
gpt4 key购买 nike

我有一个非常简单的 ajax 脚本,用于将 HTML 文件加载到 div 中。脚本如下所示:

<head>
<script>
function fetchResults(){
/*$(document).ready(function() {*/
$('#slideshow').cycle({
fx: 'fade',
pager: '#smallnav',
pause: 1,
speed: 1800,
timeout: 3500
});
});
</script>
<script type="text/javascript">

var bustcachevar=1 (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(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){
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+" "
}
}
}

</script>
</head>

将所述 HTML 文件整齐地加载到此 div 中:

 <div id="rss">
<script type="text/javascript">
ajaxpage('news.html', 'content');
</script>
</div>

但在其中一个 HTML 文件中,我有一小段 javascript 无法加载到 div 中,但在直接查看页面时加载正常。

<script src="http://feeds.feedburner.com/xxx/QFMN?format=sigpro" type="text/javascript" ></script>

我知道 ajax 中的 javascript 存在问题,但也知道有解决方法。作为 javascript 的菜鸟,我不完全确定如何使用它。有什么建议吗?

最佳答案

由于您似乎已经在使用 jQuery,请使用 jQuery 的 Ajax 方法来执行异步请求。你所有的代码都可以用类似的东西替换

$(function () {
$('#container').html($.get('/some/other/url.html'));
});

这是一个链接示例,单击该链接会将 div 的内容替换为 AJAX 调用的结果:

<a class="ajaxLink" href="/some/other/url.html">next</a>
<div id="container">
Hello there
</div>

<script type="text/javascript">
$(function () {
$("a.ajaxLink").click(function () {
$('#container').load($(this).attr('href'));
return false;
});
});
</script>

注意我们如何巧妙地使用链接的 href 属性来指定 URL - 如果客户端没有启用 JavaScript,链接将照常工作。

JQuery documentation on AJAX methods是一个有值(value)的信息来源。请参阅 documentation of the .load() method 中的“加载页面片段”和“脚本执行”解释加载页面中的脚本是如何执行的。

(另外,使用 jslint 或类似的服务非常有帮助)

关于Javascript 不会加载到 ajax div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14655605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com