2014-01-17 240 views
0

我需要运行没有Inet连接的本地项目,因此希望能够将jQuery包含到本地文件夹中,这应该没有问题。 但它是。将jQuery .load更改为本地Javascript

可用空间非常有限,CPU功耗是一个笑话(它是工业机器的一个小型控制单元),即使60kB js框架也会使其减慢很多。

这就是为什么我要包括以下内容为本地JavaScript:

window.onload = function() { 
    var auto_refresh = setInterval(
     function() { 
      $('#w1').load('testing.html #w1'); 
     }, 1000); 
}; 

,我读了AJAX没有jQuery是一个整体复杂得多。谁能帮忙?

+1

谷歌可以帮助('XMLHttpRequest')和阅读jQuery的来源也有帮助。 – Jon

+0

[检索跨浏览器XmlHttpRequest的最简单方法]的可能重复(http://stackoverflow.com/questions/2557247/easiest-way-to-retrieve-cross-browser-xmlhttprequest) – Jon

回答

1

如果你只需要出一个更大的图书馆中,我建议你看看http://microjs.com,如果你搜索“AJAX”的功能,你将在结果https://github.com/ForbesLindesay/ajax

我的避风港”的顶部得到这个牛逼这个曾经自己,但它似乎很简单(这只是权重2KB):

ajax.getJSON("sample.json", function (res) { 
    document.getElementById('result').innerHTML = '"' + res.foo + '"'; 
}); 

如果2KB或使用这样的库是不是你想要看看#2这个问题是什么:How to make an AJAX call without jQuery?

0

首先我会建议你使用DOM Ready事件,而不是.load。事情是这样的:

if(document.addEventListener) 
    document.addEventListener('DOMContentLoaded', init()); 
else 
    document.attachEvent('onreadystatechange', function(){ 
     if(document.readyState == 'complete') init(); 
}); 

function init(){//do something} 

而对于AJAX你可以写这样的事情:

var xmlhttp; 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
     // do something on ajax success 
    } 
}  
xmlhttp.open("GET","info.php",true); 
xmlhttp.send();`