我在我的应用程序中嵌入了一个网站,Adobe Air无法识别源代码中的breakline HTML标记(Firefox和Chrome会自动更正错误)。我已附上以下源代码。有没有办法用正确的语法替换断裂线(没有正斜杠)。我不控制网站,我只是将它加载到我的应用程序中,所以我不能只在源头上更改它。我正在使用mx:html对象和htmlLoader来加载网址。
网站来源:
<ul>
<li><a href="Rpt_Selection_2.asp?Report=StatusReport/StatusReport.asp">Status Report</a></li>
<li><a href="Rpt_Selection_2.asp?Report=StatusReport/AlarmsAlerts.asp">Alarm History</a></li>
</ul>
<br/>
<table class="Header" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="HeaderLeft"><img src="Images/Spacer.gif" border="0"></td>
<th>List of Alarms for Multiple Groups </th>
<td class="HeaderRight"><img src="Images/Spacer.gif" border="0"></td>
</tr>
</table>
mxml组件:
<mx:HTML id="htmlControl" width="100%" height="100%"/>
加载网址的脚本:
htmlControl.htmlLoader.load(new URLRequest("http://mysite.com/somepage.asp"));
谢谢你。
答案 0 :(得分:1)
我过去处理这个问题的方法是使用URLLoader首先检索内容,然后修改它,然后通过调用myHtmlComponent.htmlLoader.loadString(myModifiedContent)将内容设置为HTML组件
希望有所帮助。
编辑:阅读下面的评论后,如果使用相对URL而不是完整的URL引用引用的脚本,则可能无法加载引用的脚本。我过去通过预先添加基本标记来修复此问题,以便相对URL可以正确解析。在检索内容之后,在调用myHtmlComponent.htmlLoader.loadString之前,请像这样预先添加:
myModifiedContent = "<base href='http://mydomain.com/'/>" + myModifiedContent;