Я искал способ хотя бы узнать, какой домен имеет iframe (с кросс-доменом) на веб-странице, используя элемент управления .NET WebBrowser.
Я использую .NET 2.0Visual Studio 2005 C #
Например, в элементе управления веб-браузера имеется веб-страница с iframe с другим доменом.
Я хочу получить значение "www.google.com"
http://localhost/index.html
<html>
<head></head>
<body>
<iframe src="http://www.google.com/foobar"></iframe>
</body>
</html>
Я пытался получить домен и получить UnauthorizedAccessException
из-за междоменного сценария в соответствии с MSDN.
HtmlWindowCollection frames = webBrowser1.Document.Window.Frames;
if (frames.Count > 0)
{
for (int i = 0, j = frames.Count; i < j; i++)
{
//if the iframe in the page has different domain
if (frames[i].Document.Domain != this.webBrowser1.Document.Domain)
{
MessageBox.Show("iframe has different domain");
}
}
}
Но, похоже, я не могу дажеполучить доступ к домену.
Я тоже пробовал Url frames[i].Url
и все то же исключение.
Означает ли это, что я не могу получить какую-либо информацию из Iframe, кроме какiframe?Есть ли способ определить, имеет ли iframe другой домен без исключения?