Files
2026-01-21 18:11:33 +08:00

852 lines
22 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(window,document,Laya){
var __un=Laya.un,__uns=Laya.uns,__static=Laya.static,__class=Laya.class,__getset=Laya.getset,__newvec=Laya.__newvec;
var Browser=laya.utils.Browser,CSSStyle=laya.display.css.CSSStyle,ClassUtils=laya.utils.ClassUtils;
var Event=laya.events.Event,HTMLChar=laya.utils.HTMLChar,Loader=laya.net.Loader,Node=laya.display.Node,Rectangle=laya.maths.Rectangle;
var Render=laya.renders.Render,RenderContext=laya.renders.RenderContext,RenderSprite=laya.renders.RenderSprite;
var Sprite=laya.display.Sprite,Stat=laya.utils.Stat,Texture=laya.resource.Texture,URL=laya.net.URL,Utils=laya.utils.Utils;
/**
*@private
*/
//class laya.html.utils.HTMLParse
var HTMLParse=(function(){
function HTMLParse(){};
__class(HTMLParse,'laya.html.utils.HTMLParse');
HTMLParse.parse=function(ower,xmlString,url){
xmlString=xmlString.replace(/<br>/g,"<br/>");
xmlString="<root>"+xmlString+"</root>";
xmlString=xmlString.replace(HTMLParse.spacePattern,HTMLParse.char255);
var xml=Utils.parseXMLFromString(xmlString);
HTMLParse._parseXML(ower,xml.childNodes[0].childNodes,url);
}
HTMLParse._parseXML=function(parent,xml,url,href){
var i=0,n=0;
if (xml.join || xml.item){
for (i=0,n=xml.length;i < n;++i){
HTMLParse._parseXML(parent,xml[i],url,href);
}
}else {
var node;
var nodeName;
if (xml.nodeType==3){
var txt;
if ((parent instanceof laya.html.dom.HTMLDivElement )){
if (xml.nodeName==null){
xml.nodeName="#text";
}
nodeName=xml.nodeName.toLowerCase();
txt=xml.textContent.replace(/^\s+|\s+$/g,'');
if (txt.length > 0){
node=ClassUtils.getInstance(nodeName);
if (node){
parent.addChild(node);
((node).innerTEXT=txt.replace(HTMLParse.char255AndOneSpacePattern," "));
}
}
}else {
txt=xml.textContent.replace(/^\s+|\s+$/g,'');
if (txt.length > 0){
((parent).innerTEXT=txt.replace(HTMLParse.char255AndOneSpacePattern," "));
}
}
return;
}else {
nodeName=xml.nodeName.toLowerCase();
if (nodeName=="#comment")return;
node=ClassUtils.getInstance(nodeName);
if (node){
node=parent.addChild(node);
(node).URI=url;
(node).href=href;
var attributes=xml.attributes;
if (attributes && attributes.length > 0){
for (i=0,n=attributes.length;i < n;++i){
var attribute=attributes[i];
var attrName=attribute.nodeName;
var value=attribute.value;
node._setAttributes(attrName,value);
}
}
HTMLParse._parseXML(node,xml.childNodes,url,(node).href);
}else {
HTMLParse._parseXML(parent,xml.childNodes,url,href);
}
}
}
}
HTMLParse.char255=String.fromCharCode(255);
HTMLParse.spacePattern=/&nbsp;|&#160;/g;
HTMLParse.char255AndOneSpacePattern=new RegExp(String.fromCharCode(255)+"|(\\s+)","g");
return HTMLParse;
})()
/**
*@private
*HTML的布局类
*对HTML的显示对象进行排版
*/
//class laya.html.utils.Layout
var Layout=(function(){
function Layout(){};
__class(Layout,'laya.html.utils.Layout');
Layout.later=function(element){
if (Layout._will==null){
Layout._will=[];
Laya.stage.frameLoop(1,null,function(){
if (Layout._will.length < 1)
return;
for (var i=0;i < Layout._will.length;i++){
laya.html.utils.Layout.layout(Layout._will[i]);
}
Layout._will.length=0;
});
}
Layout._will.push(element);
}
Layout.layout=function(element){
if ((element._style._type & /*laya.display.css.CSSStyle.ADDLAYOUTED*/0x200)===0)
return null;
element._style._type &=~ /*laya.display.css.CSSStyle.ADDLAYOUTED*/0x200;
var arr=Layout._multiLineLayout(element);
if (Render.isConchApp&&element["layaoutCallNative"]){
(element).layaoutCallNative();
}
return arr;
}
Layout._multiLineLayout=function(element){
var elements=new Array;
element._addChildsToLayout(elements);
var i=0,n=elements.length,j=0;
var style=element._getCSSStyle();
var letterSpacing=style.letterSpacing;
var leading=style.leading;
var lineHeight=style.lineHeight;
var widthAuto=style._widthAuto()|| !style.wordWrap;
var width=widthAuto ? 999999 :element.width;
var height=element.height;
var maxWidth=0;
var exWidth=style.italic ? style.fontSize / 3 :0;
var align=style._getAlign();
var valign=style._getValign();
var endAdjust=valign!==0 || align!==0 || lineHeight !=0;
var oneLayout;
var x=0;
var y=0;
var w=0;
var h=0;
var tBottom=0;
var lines=new Array;
var curStyle;
var curPadding;
var curLine=lines[0]=new LayoutLine();
var newLine=false,nextNewline=false;
var htmlWord;
var sprite;
curLine.h=0;
if (style.italic)
width-=style.fontSize / 3;
var tWordWidth=0;
var tLineFirstKey=true;
function addLine (){
curLine.y=y;
y+=curLine.h+leading;
curLine.mWidth=tWordWidth;
tWordWidth=0;
curLine=new LayoutLine();
lines.push(curLine);
curLine.h=0;
x=0;
tLineFirstKey=true;
newLine=false;
}
for (i=0;i < n;i++){
oneLayout=elements[i];
if (oneLayout==null){
if (!tLineFirstKey){
x+=Layout.DIV_ELEMENT_PADDING;
}
curLine.wordStartIndex=curLine.elements.length;
continue ;
}
tLineFirstKey=false;
if ((oneLayout instanceof laya.html.dom.HTMLBrElement )){
addLine();
curLine.y=y;
curLine.h=lineHeight;
continue ;
}else if (oneLayout._isChar()){
htmlWord=oneLayout;
if (!htmlWord.isWord){
if (lines.length > 0 && (x+w)> width && curLine.wordStartIndex > 0){
var tLineWord=0;
tLineWord=curLine.elements.length-curLine.wordStartIndex+1;
curLine.elements.length=curLine.wordStartIndex;
i-=tLineWord;
addLine();
continue ;
}
newLine=false;
tWordWidth+=htmlWord.width;
}else {
newLine=nextNewline || (htmlWord.char==='\n');
curLine.wordStartIndex=curLine.elements.length;
}
w=htmlWord.width+letterSpacing;
h=htmlWord.height;
nextNewline=false;
newLine=newLine || ((x+w)> width);
newLine && addLine();
curLine.minTextHeight=Math.min(curLine.minTextHeight,oneLayout.height);
}else {
curStyle=oneLayout._getCSSStyle();
sprite=oneLayout;
curPadding=curStyle.padding;
curStyle._getCssFloat()===0 || (endAdjust=true);
newLine=nextNewline || curStyle.lineElement;
w=sprite.width *sprite._style._tf.scaleX+curPadding[1]+curPadding[3]+letterSpacing;
h=sprite.height *sprite._style._tf.scaleY+curPadding[0]+curPadding[2];
nextNewline=curStyle.lineElement;
newLine=newLine || ((x+w)> width && curStyle.wordWrap);
newLine && addLine();
}
curLine.elements.push(oneLayout);
curLine.h=Math.max(curLine.h,h);
oneLayout.x=x;
oneLayout.y=y;
x+=w;
curLine.w=x-letterSpacing;
curLine.y=y;
maxWidth=Math.max(x+exWidth,maxWidth);
}
y=curLine.y+curLine.h;
if (endAdjust){
var tY=0;
var tWidth=width;
if (widthAuto && element.width > 0){
tWidth=element.width;
}
for (i=0,n=lines.length;i < n;i++){
lines[i].updatePos(0,tWidth,i,tY,align,valign,lineHeight);
tY+=Math.max(lineHeight,lines[i].h);
}
y=tY;
}
widthAuto && (element.width=maxWidth);
(y > element.height)&& (element.height=y);
return [maxWidth,y];
}
Layout._will=null
Layout.DIV_ELEMENT_PADDING=0;
return Layout;
})()
/**
*@private
*/
//class laya.html.utils.LayoutLine
var LayoutLine=(function(){
function LayoutLine(){
this.x=0;
this.y=0;
this.w=0;
this.h=0;
this.wordStartIndex=0;
this.minTextHeight=99999;
this.mWidth=0;
this.elements=new Array;
}
__class(LayoutLine,'laya.html.utils.LayoutLine');
var __proto=LayoutLine.prototype;
/**
*底对齐(默认)
*@param left
*@param width
*@param dy
*@param align 水平
*@param valign 垂直
*@param lineHeight 行高
*/
__proto.updatePos=function(left,width,lineNum,dy,align,valign,lineHeight){
var w=0;
var one
if (this.elements.length > 0){
one=this.elements[this.elements.length-1];
w=one.x+one.width-this.elements[0].x;
};
var dx=0,ddy=NaN;
align===/*laya.display.css.CSSStyle.ALIGN_CENTER*/1 && (dx=(width-w)/ 2);
align===/*laya.display.css.CSSStyle.ALIGN_RIGHT*/2 && (dx=(width-w));
lineHeight===0 || valign !=0 || (valign=1);
for (var i=0,n=this.elements.length;i < n;i++){
one=this.elements[i];
var tCSSStyle=one._getCSSStyle();
dx!==0 && (one.x+=dx);
switch (tCSSStyle._getValign()){
case 0:
one.y=dy;
break ;
case /*laya.display.css.CSSStyle.VALIGN_MIDDLE*/1:;
var tMinTextHeight=0;
if (this.minTextHeight !=99999){
tMinTextHeight=this.minTextHeight;
};
var tBottomLineY=(tMinTextHeight+lineHeight)/ 2;
tBottomLineY=Math.max(tBottomLineY,this.h);
if ((one instanceof laya.html.dom.HTMLImageElement )){
ddy=dy+tBottomLineY-one.height;
}else {
ddy=dy+tBottomLineY-one.height;
}
one.y=ddy;
break ;
case /*laya.display.css.CSSStyle.VALIGN_BOTTOM*/2:
one.y=dy+(lineHeight-one.height);
break ;
}
}
}
return LayoutLine;
})()
/**
*@private
*/
//class laya.html.dom.HTMLElement extends laya.display.Sprite
var HTMLElement=(function(_super){
function HTMLElement(){
this.URI=null;
this._href=null;
HTMLElement.__super.call(this);
this._text=HTMLElement._EMPTYTEXT;
this.setStyle(new CSSStyle(this));
this._getCSSStyle().valign="middle";
this.mouseEnabled=true;
}
__class(HTMLElement,'laya.html.dom.HTMLElement',_super);
var __proto=HTMLElement.prototype;
/**
*@private
*/
__proto.layaoutCallNative=function(){
var n=0;
if (this._childs &&(n=this._childs.length)> 0){
for (var i=0;i < n;i++){
this._childs[i].layaoutCallNative && this._childs[i].layaoutCallNative();
}
};
var word=this._getWords();
word&&HTMLElement.fillWords(this,word,0,0,this.style.font,this.style.color);
}
__proto.appendChild=function(c){
return this.addChild(c);
}
__proto._getWords=function(){
var txt=this._text.text;
if (!txt || txt.length===0)
return null;
var words=this._text.words;
if (words && words.length===txt.length)
return words;
words===null && (this._text.words=words=[]);
words.length=txt.length;
var size;
var style=this.style;
var fontStr=style.font;
var startX=0;
for (var i=0,n=txt.length;i < n;i++){
size=Utils.measureText(txt.charAt(i),fontStr);
var tHTMLChar=words[i]=new HTMLChar(txt.charAt(i),size.width,size.height,style);
if (this.href){
var tSprite=new Sprite();
this.addChild(tSprite);
tHTMLChar.setSprite(tSprite);
}
}
return words;
}
__proto.showLinkSprite=function(){
var words=this._text.words;
if (words){
var tLinkSpriteList=[];
var tSprite;
var tHtmlChar;
for (var i=0;i < words.length;i++){
tHtmlChar=words[i];
tSprite=new Sprite();
tSprite.graphics.drawRect(0,0,tHtmlChar.width,tHtmlChar.height,"#ff0000");
tSprite.width=tHtmlChar.width;
tSprite.height=tHtmlChar.height;
this.addChild(tSprite);
tLinkSpriteList.push(tSprite);
}
}
}
__proto._layoutLater=function(){
var style=this.style;
if ((style._type & /*laya.display.css.CSSStyle.ADDLAYOUTED*/0x200))return;
if (style.widthed(this)&& (this._childs.length>0 || this._getWords()!=null)&& style.block){
Layout.later(this);
style._type |=/*laya.display.css.CSSStyle.ADDLAYOUTED*/0x200;
}
else{
this.parent && (this.parent)._layoutLater();
}
}
__proto._setAttributes=function(name,value){
switch (name){
case 'style':
this.style.cssText(value);
return;
case 'class':
this.className=value;
return;
}
_super.prototype._setAttributes.call(this,name,value);
}
__proto.updateHref=function(){
if (this._href !=null){
var words=this._getWords();
if (words){
var tHTMLChar;
var tSprite;
for (var i=0;i < words.length;i++){
tHTMLChar=words[i];
tSprite=tHTMLChar.getSprite();
if (tSprite){
var tHeight=tHTMLChar.height-1;
tSprite.graphics.drawLine(0,tHeight,tHTMLChar.width,tHeight,tHTMLChar._getCSSStyle().color);
tSprite.size(tHTMLChar.width,tHTMLChar.height);
tSprite.on(/*laya.events.Event.CLICK*/"click",this,this.onLinkHandler);
}
}
}
}
}
__proto.onLinkHandler=function(e){
switch(e.type){
case /*laya.events.Event.CLICK*/"click":;
var target=this;
while (target){
target.event(/*laya.events.Event.LINK*/"link",[this.href]);
target=target.parent;
}
break ;
}
}
__proto.formatURL=function(url){
return URL.formatURL(url,this.URI ? this.URI.path :null);
}
__getset(0,__proto,'href',function(){
return this._href;
},function(url){
this._href=url;
if (url !=null){
this.updateHref();
}
});
__getset(0,__proto,'color',null,function(value){
this.style.color=value;
});
__getset(0,__proto,'onClick',null,function(value){
var fn;
/*__JS__ */eval("fn=function(event){"+value+";}");
this.on(/*laya.events.Event.CLICK*/"click",this,fn);
});
__getset(0,__proto,'id',null,function(value){
HTMLDocument.document.setElementById(value,this);
});
__getset(0,__proto,'innerTEXT',function(){
return this._text.text;
},function(value){
this.text=value;
});
__getset(0,__proto,'style',function(){
return this._style;
});
__getset(0,__proto,'text',function(){
return this._text.text;
},function(value){
if (this._text==HTMLElement._EMPTYTEXT){
this._text={text:value,words:null};
}
else{
this._text.text=value;
this._text.words && (this._text.words.length=0);
}
this._renderType |=/*laya.renders.RenderSprite.CHILDS*/0x800;
this.repaint();
this.updateHref();
});
__getset(0,__proto,'parent',_super.prototype._$get_parent,function(value){
if ((value instanceof laya.html.dom.HTMLElement )){
var p=value;
this.URI || (this.URI=p.URI);
this.style.inherit(p.style);
}
_super.prototype._$set_parent.call(this,value);
});
__getset(0,__proto,'className',null,function(value){
this.style.attrs(HTMLDocument.document.styleSheets['.'+value]);
});
HTMLElement.fillWords=function(ele,words,x,y,font,color){
ele.graphics.clear();
for (var i=0,n=words.length;i < n;i++){
var a=words[i];
ele.graphics.fillText(a.char,a.x+x,a.y+y,font,color,'left');
}
}
HTMLElement._EMPTYTEXT={text:null,words:null};
return HTMLElement;
})(Sprite)
/**
*@private
*/
//class laya.html.dom.HTMLBrElement extends laya.html.dom.HTMLElement
var HTMLBrElement=(function(_super){
function HTMLBrElement(){
HTMLBrElement.__super.call(this);
this.style.lineElement=true;
this.style.block=true;
}
__class(HTMLBrElement,'laya.html.dom.HTMLBrElement',_super);
return HTMLBrElement;
})(HTMLElement)
/**
*DIV标签
*/
//class laya.html.dom.HTMLDivElement extends laya.html.dom.HTMLElement
var HTMLDivElement=(function(_super){
function HTMLDivElement(){
this.contextHeight=NaN;
this.contextWidth=NaN;
HTMLDivElement.__super.call(this);
this.style.block=true;
this.style.lineElement=true;
this.style.width=200;
this.style.height=200;
HTMLStyleElement;
}
__class(HTMLDivElement,'laya.html.dom.HTMLDivElement',_super);
var __proto=HTMLDivElement.prototype;
/**
*追加内容,解析并对显示对象排版
*@param text
*/
__proto.appendHTML=function(text){
HTMLParse.parse(this,text,this.URI);
this.layout();
}
/**
*@private
*@param out
*@return
*/
__proto._addChildsToLayout=function(out){
var words=this._getWords();
if (words==null && this._childs.length==0)return false;
words && words.forEach(function(o){
out.push(o);
});
var tFirstKey=true;
for (var i=0,len=this._childs.length;i < len;i++){
var o=this._childs[i];
if (tFirstKey){
tFirstKey=false;
}else {
out.push(null);
}
o._addToLayout(out)
}
return true;
}
/**
*@private
*@param out
*/
__proto._addToLayout=function(out){
this.layout();
}
/**
*@private
*对显示内容进行排版
*/
__proto.layout=function(){
this.style._type |=/*laya.display.css.CSSStyle.ADDLAYOUTED*/0x200;
var tArray=Layout.layout(this);
if (tArray){
if (!this._$P.mHtmlBounds)this._set$P("mHtmlBounds",new Rectangle());
var tRectangle=this._$P.mHtmlBounds;
tRectangle.x=tRectangle.y=0;
tRectangle.width=this.contextWidth=tArray[0];
tRectangle.height=this.contextHeight=tArray[1];
this.setBounds(tRectangle);
}
}
/**
*获取对象的高
*/
__getset(0,__proto,'height',function(){
if (this._height)return this._height;
return this.contextHeight;
},_super.prototype._$set_height);
/**
*设置标签内容
*/
__getset(0,__proto,'innerHTML',null,function(text){
this.destroyChildren();
this.appendHTML(text);
});
/**
*获取对象的宽
*/
__getset(0,__proto,'width',function(){
if (this._width)return this._width;
return this.contextWidth;
},_super.prototype._$set_width);
return HTMLDivElement;
})(HTMLElement)
/**
*@private
*/
//class laya.html.dom.HTMLDocument extends laya.html.dom.HTMLElement
var HTMLDocument=(function(_super){
function HTMLDocument(){
this.all=new Array;
this.styleSheets=CSSStyle.styleSheets;
HTMLDocument.__super.call(this);
}
__class(HTMLDocument,'laya.html.dom.HTMLDocument',_super);
var __proto=HTMLDocument.prototype;
__proto.getElementById=function(id){
return this.all[id];
}
__proto.setElementById=function(id,e){
this.all[id]=e;
}
__static(HTMLDocument,
['document',function(){return this.document=new HTMLDocument();}
]);
return HTMLDocument;
})(HTMLElement)
/**
*@private
*/
//class laya.html.dom.HTMLImageElement extends laya.html.dom.HTMLElement
var HTMLImageElement=(function(_super){
function HTMLImageElement(){
this._tex=null;
this._url=null;
this._renderArgs=[];
HTMLImageElement.__super.call(this);
this.style.block=true;
}
__class(HTMLImageElement,'laya.html.dom.HTMLImageElement',_super);
var __proto=HTMLImageElement.prototype;
__proto._addToLayout=function(out){
!this._style.absolute && out.push(this);
}
__proto.render=function(context,x,y){
if (!this._tex || !this._tex.loaded || !this._tex.loaded || this._width < 1 || this._height < 1)return;
Stat.spriteCount++;
this._renderArgs[0]=this._tex;
this._renderArgs[1]=this.x;
this._renderArgs[2]=this.y;
this._renderArgs[3]=this.width || this._tex.width;
this._renderArgs[4]=this.height || this._tex.height;
context.ctx.drawTexture2(x,y,this.style.translateX,this.style.translateY,this.transform,this.style.alpha,this.style.blendMode,this._renderArgs);
}
__getset(0,__proto,'src',null,function(url){
var _$this=this;
url=this.formatURL(url);
if (this._url==url)return;
this._url=url;
this._tex=Loader.getRes(url)
if (!this._tex){
this._tex=new Texture();
this._tex.load(url);
Loader.cacheRes(url,this._tex);
};
var tex=this._tex=Loader.getRes(url);
if (!tex){
this._tex=tex=new Texture();
tex.load(url);
Loader.cacheRes(url,tex);
}
function onloaded (){
var style=_$this._style;
var w=style.widthed(_$this)?-1:_$this._tex.width;
var h=style.heighted(_$this)?-1:_$this._tex.height;
if (!style.widthed(_$this)&& _$this._width !=_$this._tex.width){
_$this.width=_$this._tex.width;
_$this.parent && (_$this.parent)._layoutLater();
}
if (!style.heighted(_$this)&& _$this._height !=_$this._tex.height){
_$this.height=_$this._tex.height;
_$this.parent && (_$this.parent)._layoutLater();
}
if (Render.isConchApp){
_$this._renderArgs[0]=_$this._tex;
_$this._renderArgs[1]=_$this.x;
_$this._renderArgs[2]=_$this.y;
_$this._renderArgs[3]=_$this.width || _$this._tex.width;
_$this._renderArgs[4]=_$this.height || _$this._tex.height;
_$this.graphics.drawTexture(_$this._tex,0,0,_$this._renderArgs[3],_$this._renderArgs[4]);
}
}
tex.loaded?onloaded():tex.on(/*laya.events.Event.LOADED*/"loaded",null,onloaded);
});
return HTMLImageElement;
})(HTMLElement)
/**
*@private
*/
//class laya.html.dom.HTMLLinkElement extends laya.html.dom.HTMLElement
var HTMLLinkElement=(function(_super){
function HTMLLinkElement(){
this.type=null;
HTMLLinkElement.__super.call(this);
this.visible=false;
}
__class(HTMLLinkElement,'laya.html.dom.HTMLLinkElement',_super);
var __proto=HTMLLinkElement.prototype;
__proto._onload=function(data){
switch(this.type){
case 'text/css':
CSSStyle.parseCSS(data,this.URI);
break ;
}
}
__getset(0,__proto,'href',_super.prototype._$get_href,function(url){
var _$this=this;
url=this.formatURL(url);
this.URI=new URL(url);
var l=new Loader();
l.once(/*laya.events.Event.COMPLETE*/"complete",null,function(data){
_$this._onload(data);
});
l.load(url,/*laya.net.Loader.TEXT*/"text");
});
HTMLLinkElement._cuttingStyle=new RegExp("((@keyframes[\\s\\t]+|)(.+))[\\t\\n\\r\\\s]*{","g");
return HTMLLinkElement;
})(HTMLElement)
/**
*@private
*/
//class laya.html.dom.HTMLStyleElement extends laya.html.dom.HTMLElement
var HTMLStyleElement=(function(_super){
function HTMLStyleElement(){
HTMLStyleElement.__super.call(this);
this.visible=false;
}
__class(HTMLStyleElement,'laya.html.dom.HTMLStyleElement',_super);
var __proto=HTMLStyleElement.prototype;
/**
*解析样式
*/
__getset(0,__proto,'text',_super.prototype._$get_text,function(value){
CSSStyle.parseCSS(value,null);
});
return HTMLStyleElement;
})(HTMLElement)
/**
*iframe标签类目前用于加载外并解析数据
*/
//class laya.html.dom.HTMLIframeElement extends laya.html.dom.HTMLDivElement
var HTMLIframeElement=(function(_super){
function HTMLIframeElement(){
HTMLIframeElement.__super.call(this);
this._getCSSStyle().valign="middle";
}
__class(HTMLIframeElement,'laya.html.dom.HTMLIframeElement',_super);
var __proto=HTMLIframeElement.prototype;
/**
*加载html文件并解析数据
*@param url
*/
__getset(0,__proto,'href',_super.prototype._$get_href,function(url){
var _$this=this;
url=this.formatURL(url);
var l=new Loader();
l.once(/*laya.events.Event.COMPLETE*/"complete",null,function(data){
var pre=_$this.URI;
_$this.URI=new URL(url);
_$this.innerHTML=data;
!pre || (_$this.URI=pre);
});
l.load(url,/*laya.net.Loader.TEXT*/"text");
});
return HTMLIframeElement;
})(HTMLDivElement)
})(window,document,Laya);