Xulrunner отображает целевую ссылку iframe в строке состояния a.

#xulrunner

#xulrunner

Вопрос:

У меня есть приложение xulrunner, которое содержит элемент iframe. Когда пользователь наводит курсор мыши на ссылку в документе с рамкой, я хочу отобразить целевой URL-адрес в другом элементе.

Я могу перехватывать события mousemove с помощью: iframe.addEventListener(‘mousemove’, функция () { … }, false);

но я не вижу, как запросить iframe для URL-адреса под мышкой. Можно ли это сделать?

Ответ №1:

Я решил эту проблему, используя код, который я нашел здесь:

http://developerfriendly.googlecode.com/svn/trunk/mozilla/xulrunner/WebRunner_app/Contents/Resources/chrome/content/webrunner.js

В частности, я сделал это:

 var gXULBrowserWindow =
{
  QueryInterface: function(aIID)
  {
    if (aIID.Equals(Components.interfaces.nsIXULBrowserWindow) ||
        aIID.Equals(Components.interfaces.nsISupports))
     return this;

    throw Components.results.NS_NOINTERFACE;
  },

  setJSStatus: function() { },
  setJSDefaultStatus: function() { },

  setOverLink: function(msg, aLink)
  {
    var sb = GetOptElem('bottomstatus');
    if(sb)
        sb.label = msg;
  }
};
// hookup the browser window callbacks
window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
    .getInterface(Components.interfaces.nsIWebNavigation)
    .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
    .treeOwner
    .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
    .getInterface(Components.interfaces.nsIXULWindow)
    .XULBrowserWindow = gXULBrowserWindow;