问题:较旧的知识库软件,无论出于何种原因,都有破坏的链接.它是一系列嵌套框架.有些人指向正确的目标,有些则没有,而且许多人只是被打破.当它不能顺利运行时,它会使知识库变得繁琐
我正在尝试编写的内容:我想确定特定帧何时加载,然后解析框架的文档,用正确的href和目标替换锚标记.
资源和限制:我可以访问一些.aspx页面.我现在定位的那个包含一个加载知识库文档的framset.然而,此框架的src似乎不是实际的.aspx页面(物理文件) - 不确定它是如何生成的,并且不确定文档的存储方式.我看到列出的src但在我有权访问的网络服务器上找不到它.
基本信息:使用.aspx加载页面(我不了解这部分内容并且无法访问更深入的内容)..aspx页面有一个框架集,可在加载页面时生成.
.aspx文件中的示例Framset代码:
<FRAMESET id="FrameSetMainView" runat="server" border="0" framespacing="0" frameborder="0">
<!-- This frame set is defined and generated in the code -->
</FRAMESET>
Run Code Online (Sandbox Code Playgroud)
我尝试在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>
Run Code Online (Sandbox Code Playgroud)
其他方案?