我有以下的bookmarklet代码将Web浏览器窗口分为两个框架,以并排查看不同的网页。该代码在某些网站上可以正常工作,但在其他网站上则无法正常工作,它将分割窗口,开始加载第一个框架,然后中断框架并转到整页。发生这种情况的一个特定站点位于http://www.cbssports.com上,代码要求输入2个URL(如果我在CBS URL中输入了内容),然后说Yahoo.com URL将填充CBS网站。任何想法为什么会这样?下面是代码:

javascript:A14nH = location.href; L3f7 = prompt('选择文件1',A14nH); R1Gh7 = prompt('选择文件2',L3f7); if(L3f7 && R1Gh7){Fr4Q ='\ n'; Fr4Q + ='\ n'; Fr4Q + =''; with(document){write(Fr4Q); void(close())}}其他{void(null)}

最佳答案

http://www.cbssports.com/的第103行(在编写此答案时)是这样的:

<script type="text/javascript">/* Window Management */ if(top != self){window.open(location.href, '_top');}</script>


这就是说,如果顶层窗口不是CBS Sports(换句话说,如果它是加框的),则要在顶层窗口中打开CBS Sports,替换框架中的所有内容。

10-08 14:44