我正在使用下面的代码来显示 Silverlight 的页面
public void OpenLinkInNewWindow(string url, int? width = null, int? height = null)
{
try
{
Argument.IsNotNull("url", url);
if (!width.HasValue)
{
width = int.Parse(HtmlPage.Window.Eval("screen.width").ToString()) - MarginLeft;
}
if (!height.HasValue)
{
// Subtract the margin twice because of the start menu (which we assume is on the bottom)
height = int.Parse(HtmlPage.Window.Eval("screen.height").ToString()) - MarginTop - (MarginTop / 2);
}
string sizeJavascript = string.Empty;
sizeJavascript += string.Format(",width={0}", width.Value);
sizeJavascript += string.Format(",height={0}", height.Value);
int leftOffset = MarginLeft / 2;
int topOffset = MarginTop / 2;
string javascript = string.Format("window.open('{0}', '', 'left={1},top={2},scrollbars=1,resizable=1,modal=no,alwaysRaised=yes{3}')", url,
leftOffset, topOffset, sizeJavascript);
HtmlPage.Window.Eval(javascript);
}
catch (Exception)
{
//There may be a problem loading the window via Javascript so try to open in new page
try
{
OpenLinkNewPage(url);
}
catch (Exception)
{
//There is still a problem - perhaps a popup blocker. So as a last resort, open link in the same page
OpenLinkSamePage(url);
}
}
}
public void OpenLinkSamePage(string url)
{
HtmlPage.Window.Navigate(new Uri(url), string.Empty);
}
public void OpenLinkNewPage(string url)
{
HtmlPage.Window.Navigate(new Uri(url), "_blank");
}
}
这在加载新窗口时效果很好
但是,我终生无法找到如何设置此窗口的标题?
我尝试了很多不同的方法,但都没有奏效
我已经尝试过 PageLoad,在 aspx 中使用脚本标签
我猜这可能是一个安全限制?
我见过有人建议将 window.open 的结果放到一个变量上,然后设置标题,但这只会导致页面显示在新选项卡中
我的页面标记中确实有报告,但这被忽略了
我需要将其显示在新窗口而不是新选项卡中
我正在使用 IE 10
有没有人有任何想法?
保罗