2014-01-07 130 views
0

我有一个C#程序,它使用嵌入到表单中的xulrunner工作。但是当我点击与target =“_ blank”属性的链接时,它会为我打开一个新窗口。我需要的是在现有浏览器窗口中强制打开所有这些链接。一旦我无法在网上找到关于此主题的任何信息,您能否帮助我解决这个问题?感谢您的帮助!Xulrunner强制链接在单个窗口中打开

回答

0

添加geckoWebBrowser1.DocumentCompleted += LoadingFinished;到窗体负荷

比使用;

private void LoadingFinished(object sender, EventArgs args) 
    { 
     if (geckoWebBrowser1.Document != null && geckoWebBrowser1.Document.Body != null) 
     { 
      foreach (var anchor in geckoWebBrowser1.Document.GetElementsByTagName("a")) 
      { 
       var targetAttributeValue = anchor.GetAttribute("target"); 
       if (!String.IsNullOrEmpty(targetAttributeValue)) 
       { 
        Debug.WriteLine(anchor.GetAttribute("href") as string + " changed href from " + targetAttributeValue as string + " to _self"); 
        anchor.SetAttribute("target", "_self"); 
       } 
      } 
     } 
    } 

这将用_self替换_blank。它有助于。