我在网站上有一个页面,该页面的顶部带有标签。单击每个选项卡都会显示不同的部分。每个部分都有多个iframe。
我的问题是,加载带有标签页的页面时,加载速度很慢,因为它会一次加载所有标签页中的所有iframe。
我正在寻找一种仅加载可见iframe的方法。有没有一种方法可以阻止iframe的加载,例如在单击选项卡时设置其来源,或者是在visible = true时更简单地加载iframe的方法?
在博客和网站上搜索,我发现的全部原因就是为什么使用iframe和iframe替代品不好。就我而言,使用iframe非常实用。
以下是其中一个标签HTML的示例,该标签位于div标签中:
<div class="single" id="Company_Options">
<fieldset style="margin-top:-10px; border: 1.5px solid #00659c; height:auto;">
<legend style="color:#00659c;font-weight:bold;font-size:20px;" id="Company_Title" runat="server"></legend>
<table style="width:100%; margin-top:-10px; margin-bottom:-30px;">
<tr>
<td style="width:50%;">
<fieldset>
<legend style="color:#00659c;font-weight:bold;font-size:15px;" id="Company_Country_Title" runat="server"></legend>
<iframe id="iframeCountryList" frameborder="0" scrolling="auto" width="100%" height="100%" src="CountriesList.aspx" style=""></iframe>
</fieldset>
</td>
<td style="width:50%;">
<fieldset>
<legend style="color:#00659c;font-weight:bold;font-size:15px;" id="Company_Currencies_Title" runat="server"></legend>
<iframe id="iframeCurrencyList" frameborder="0" scrolling="auto" width="100%" height="100%" src="CurrenciesList.aspx" style=""></iframe>
</fieldset>
</td>
</tr>
<tr>
<td style="width:50%;">
<fieldset>
<legend style="color:#00659c;font-weight:bold;font-size:15px;" id="Company_Departments_Title" runat="server"></legend>
<iframe id="iframeDepartmentList" frameborder="0" scrolling="auto" width="100%" height="100%" src="DepartmentList.aspx" style=""></iframe>
</fieldset>
</td>
<td style="width:50%;">
<fieldset>
<legend style="color:#00659c;font-weight:bold;font-size:15px;" id="Company_Divisions_Title" runat="server"></legend>
<iframe id="iframeDivisionList" frameborder="0" scrolling="auto" width="100%" height="100%" src="DivisionList.aspx" style=""></iframe>
</fieldset>
</td>
</tr>
</table>
</fieldset>
</div>
当标签设置如下时:
Company_Options.Visible = false;
iframe的内容仍会加载。
我需要这样的伪代码:
iframeCountryList.Render = false;
iframeCurrencyList.Render = false;
iframeDivisionList.Render = false;
iframeDepartmentList.Render = false;
Company_Options.Visible = false;
关于我如何阻止iframe呈现的任何想法,无论它是在C#中还是在客户端javascript背后的代码中?谢谢!
答案 0 :(得分:0)
您可以为其创建一个控件。在初始化时,像data-src
那样填充属性,而不是src
。需要加载iframe内容时,可以从src
复制data-src
。