场景如下:
该页面中有一个页面和一个iframe。从一开始,它们都来自同一个域(来源)。 iframe可以包含链接(或更改window.location.href的javascript)到其他域。我想在外框中检测,当用户离开iframe中的原始域时,用用户导航到的URL替换外页的window.location.href,从而结束当前的应用程序在外框架上跑。
尝试使用 beforeunload 事件,但内部框架的location.href不会更改。此iframe DOM元素的 src 属性在其contentDocument更改时也不会更改。
我的问题在当前的浏览器实现中是否可以解决,或者您使用什么方法来获得与所描述的最接近的行为?
答案 0 :(得分:0)
#include <iostream>
using namespace std;
int merge(int *left,int nl,int *right,int nr,int *a)
{
int i=0,j=0,k=0;
while(i<nl && j<nr)
{
if(left[i]<right[j])
{
a[k]=left[i];
i++;
}
else
{
a[k]=right[j];
j++;
}
k++;
}
while(i<nl)
{
a[k]=left[i];
i++;
}
while(j<nr)
{
a[k]=right[j];
j++;
}
}
int mergesort(int *a,int n)
{
if(n<2) return 0;
int mid=n/2;
int *left=new int[mid];
int *right=new int[n-mid];
for(int i=0;i<=mid-1;i++)
{
left[i]=a[i];
}
for(int i=mid;i<=n-1;i++)
{
right[i]=a[i];
}
mergesort(left,mid);
mergesort(right,n-mid);
merge(left,mid,right,n-mid,a);
delete[]left;
delete[]right;
}
int main() {
//code
int a[]={10,7,8,9,4,2,3,6,5,1};
int n=sizeof(a)/sizeof(a[0]);
mergesort(a,n);
for(int i=0;i<10;i++)
{
cout<<a[i]<<"\t";
}
return 0;
}