我需要使用jQuery等效的jQuery .load()函数来加载外部HTML模板。 我现在使用的jQuery代码是 -
$('#templates').load('file1.html');
如何使用YUI实现相同的输出?
答案 0 :(得分:7)
它需要一个特定的子模块node-load
,但它的符号相同。
YUI().use('node', 'node-load', function (Y) {
Y.one('#templates').load('file1.html');
});
jQuery和YUI中的所有方法都有一个很好的列表:http://www.jsrosettastone.com/
答案 1 :(得分:0)
不是$.load(...)
的确切替代品,但可能会让您开始朝着正确的方向前进:
加载跨域HTML文件的唯一方法是使用跨域XMLHttpRequest或Flash。这两个都由YUI 3中的IO模块支持,但在YUI 2中不受支持 资料来源:http://yuilibrary.com/forum/viewtopic.php?p=25704&sid=33da592b2224850ea738e6947d8dc280#p25704
答案 2 :(得分:0)
最后设计了一个加载HTML的解决方案。我已经处理过IE和NON-IE浏览器的案例。就是这样 -
function fName() {
if(navigator.appName == "Microsoft Internet Explorer") {
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open( "GET", "templates.html", true );
xmlHttp.onreadystatechange = function() {
if( xmlHttp.readyState == 4 && ( xmlHttp.status == 0 || xmlHttp.status == 200 ) )
{
document.getElementById( "div_id_here" ).innerHTML = '"' + xmlHttp.responseText + '"';
}
};
xmlHttp.send();
}
else {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "templates.html", true);
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4 && (xmlHttp.status == 0 || xmlHttp.status == 200))
{
document.getElementById("div_id_here").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send();
}
}