Silverlight 3 - обновить IFrame - PullRequest
       8

Silverlight 3 - обновить IFrame

2 голосов
/ 29 апреля 2010

У меня есть приложение ASP.NET, которое имеет DIV и IFRAME. В DIV размещено мое приложение Silverlight. IFRAME указывает на другую страницу на моем сайте. Когда пользователь нажимает кнопку в моем приложении Silverlight, я пытаюсь установить значение в скрытом поле на странице в IFRAME и отправить страницу.

В настоящее время я вызываю функцию JavaScript на странице, на которой размещено мое приложение Silverlight. Я пытаюсь использовать функцию JavaScript, чтобы затем взаимодействовать со страницей в IFRAME через HTML DOM. Как ни странно, всякий раз, когда я получаю доступ к элементу документа в объекте FRAME, в мое приложение Silverlight передается сообщение, которое говорит:

"Тип 'slBridge' не существует. Имя параметра: typeName"

Вот код, вызывающий функцию JavaScript в моем приложении Silverlight.

HtmlPage.Window.CreateInstance("slBridge", new string[] { });

Вот мой код JavaScript:

  function slBridge() {
    alert("Getting to execute JS");
      for (i = 0; i < window.frames.length; i++) {
        if (window.frames[i].name == "bridgeIFrame") {
        alert(windows.frames[i].document.title);      // If I remove this line it works. I can print the value of "i" as well
        break;
      }
    }                                
  }     

Есть ли какая-то вещь безопасности, о которой я не знаю? Если да, то как мне получить доступ к IFrame из моего приложения SL?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 декабря 2010
Dim domelement As HtmlElement = System.Windows.Browser.HtmlPage.Document.GetElementById("iframe")
    If domelement.GetStyleAttribute("visibility") = "visible" Then
        domelement.SetStyleAttribute("zIndex", "3")
    End If

пример изменения iframe в dom с SL

0 голосов
/ 30 апреля 2010

Я не уверен, почему вы используете CreateInstance. Для вызова функции используйте Invoke: -

 HtmlPage.Window.Invoke("slBridge");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...