我有一个C#程序,使用xulrunner嵌入到表单中。但是当我点击带有target =“_ blank”属性的链接时,它会为我打开一个新窗口。我需要的是在现有的浏览器窗口中强制打开所有这些链接。一旦我无法在网上找到有关此主题的任何信息,你能帮我解决这个问题。谢谢你的帮助!
答案 0 :(得分: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");
}
}
}
}
这将_blank替换为_self。它会有所帮助。