【发布时间】:2016-04-14 21:06:05
【问题描述】:
问题:无论出于何种原因,旧知识库软件的链接已损坏。它是一系列嵌套的框架。有些指向正确的目标,有些没有,还有很多只是坏了。当它不能顺利工作时,它会使知识库的使用变得很麻烦
我要完成的工作:我想确定特定框架何时加载,然后解析框架的文档,用正确的 href 和目标替换锚标记。
资源和限制:我可以访问一些 .aspx 页面。我现在的目标包含一个加载知识库文档的框架集。然而,这个框架的 src 似乎不是一个实际的 .aspx 页面(物理文件)——不确定它是如何生成的,也不确定文档是如何存储的。我看到列出的 src,但在我有权访问的网络服务器上找不到它。
基本信息:页面是使用 .aspx 加载的(我不太了解其中的部分内容,也无法访问更深入的内容)。 .aspx 页面有一个在页面加载时生成的框架集。
.aspx 文件中的示例框架集代码:
<FRAMESET id="FrameSetMainView" runat="server" border="0" framespacing="0" frameborder="0">
<!-- This frame set is defined and generated in the code -->
</FRAMESET>
我尝试在FRAMESET 标签中添加onload(这会导致页面在尝试加载时出错)。框架集接管了正文,因此我无法将内联脚本添加到页面底部以使其在加载后运行。
此外,产品年龄的 b/c - 它被强制进入兼容模式。因此必须使用 IE7 等效支持。 (没有addeventlistener 选项)
当前策略:我认为我可以开始工作,但感觉很花哨 - 将脚本添加到 <head>。大致如下:
<SCRIPT>
function load(){
var frameset = window.frames;
if(frameset.length > 0){ // frames have loaded - commence replacement
}else{ // frames not loaded
setTimeout(load,1000); // wait 1 sec, try again
}
}
load();
</SCRIPT>
其他解决方案?
【问题讨论】:
-
您是否看过 1998 年的这篇文章:devx.com/tips/Tip/12741 它看起来可以解决您的问题。
-
@damo-s - 正如帖子中提到的,我不是真正加载框架的人,而且这个框架用于各种嵌套框架,所以这段代码实际上并没有用。我很感激,但老实说,我在寻找任何不适用于现代浏览器的好东西时遇到了麻烦。无论如何,在下面标记答案。
-
哦,我错过了帖子中的那部分。不过很高兴您找到了解决方案。
标签: javascript frame compatibility