コントロールなしでフルスクリーンをロードし、デフォルトで html ページをロードする Xulrunner アプリがあります。それが持っている唯一のものは、ブラウザ要素と、右クリックで表示されるポップアップ メニューです。ポップアップ メニューには、終了するオプションがあります。次に、メニュー エントリ 'theme2' があります。theme2 がクリックされたときにブラウザに別の html をロードさせたい。
これは私の main.xul で、デフォルトで読み込まれます:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="main" title="Edusoft" hidechrome="true" sizemode="maximized" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript">
function do()
{
var browser1 = document.getElementById('browser');
browser1.loadURI("chrome://myapp/content/theme2/home.html");
}
</script>
<browser id="browser" type="content" src="chrome://myapp/content/theme1/index.html" flex="1" context="clipmenu"/>
<popupset>
<menupopup id="clipmenu">
<menuitem label="About Us"/>
<menuseparator/>
<menuitem label="Theme2" oncommand="do();"/>
<menuseparator/>
<menuitem label="Exit" oncommand="close();"/>
</menupopup>
</popupset>
</window>
私はこれを試しましたが、ページがこのように読み込まれると..新しいページにポップアップメニューが表示されなくなります。
window.location.assign()
のようなものがありますがloaduri()
、使い方がわかりません。