Самый простой способ добиться этого - создать файл UIImageView
с «Default.png» в верхней части вашего первого ViewController UIView
.
И добавьте таймер, чтобы удалить UIImageView
в считанные секунды.
window.top.getBrowser().selectedBrowser.contentWindow.location.href;
мог бы работать, иначе я думаю, что необходимо использовать:
var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
mainWindow.getBrowser().selectedBrowser.contentWindow.location.href;
https://developer.mozilla.org/En/Working_with_windows_in_chrome_code
, Если необходимо получить доступ к основному браузеру от кода, работающего на боковой панели, Вы будете что-то как то, что отправленный Wimmel, кроме последней строки мог быть упрощен до
mainWindow.content.location.href
(альтернативно, Вы могли использовать API, возвращая nsIURI).
В зависимости от Вашей задачи, могло бы иметь смысл выполнять код в окне браузера вместо этого (например, в обработчике загрузок страницы), тогда это может получить доступ к текущей странице через content
ярлык и боковая панель через document.getElementById("sidebar").contentDocument
или .contentWindow
.
Здравствуйте,
Я попытался реализовать это в JavaScript, потому что мне это тоже нужно в моем проекте, но все три возможных решения не сработали. Я также реализовал небольшой сайт для его тестирования, но это тоже не сработало.
Вот исходный код небольшого сайта:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function Fall1 () {
alert(window.top.getBrowser().selectedBrowser.contentWindow.location.href);
}
function Fall2() {
var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
alert(mainWindow.getBrowser().selectedBrowser.contentWindow.location.href);
}
function Fall3() {
alert(document.getElementById("sidebar").contentWindow.location.href);
}
</script>
</head>
<body>
<form name="Probe" action="">
<input type="button" value="Fall1"
onclick="Fall1()">
<input type="button" value="Fall2"
onclick="Fall2()">
<input type="button" value="Fall3"
onclick="Fall13()">
</form>
</body>
</html>
Я наткнулся на этот пост в поисках ответа на тот же вопрос.
На самом деле, я думаю, это так же просто, как
alert(window.content.location.href)
См. Также https://developer.mozilla.org/en/DOM/window.content
Мне кажется, это нормально работает
function getCurrentURL(){
var currentWindow = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser");
var currBrowser = currentWindow.getBrowser();
var currURL = currBrowser.currentURI.spec;
return currURL;
}