2012-06-19 40 views
0

我正在嘗試爲我的項目設置固定網站功能。麻煩的是,我希望將這些任務設爲JavaScript操作,而不是加載新頁面。原因是該網站只能在單個窗口中工作。IE固定網站任務列表中的JavaScript網址

我嘗試添加下列META標記:

<meta name="msapplication-task" content="name=Test Action; 
     action-uri=javascript:ui('test',8);icon-uri=/img/icons/test.ico" /> 

然而這會導致根本就沒有出現在任務。 (使用正常的URL使它顯示得很好)

有沒有辦法做到這一點?我能想到的最好的方法是檢查hashchange事件,但這不起作用,因爲它在窗口的新選項卡中打開了...

回答

0

此問題可以通過使用散列來解決。通過將action-uri設置爲JavaScript可讀的內容,JS可以讀取它,處理指令,然後清除哈希以準備下一個任務。

這樣做的好處是,即使窗口尚未打開,它也能工作,因爲JS也會在第一次加載時讀取散列。

問題是要將window-type=self添加到內容。

0

恐怕這不被支持,因爲動作列表是爲了啓動應用程序而設計的,而不是爲了它內部的導航。

如果您確實想要實現它,您可以打開一個新窗口,通過Web套接字發送消息到服務器,並讓服務器通過Web套接字將該消息轉發到應用程序窗口。但這是非常黑客的做法,只適用於IE10。

+0

感謝您的信息。我實際上會回答我自己的問題,因爲我找到了一種可行的方法。 –

+0

感謝您瞭解如何使這項工作。我不知道這個功能。我沒有在MSND Lib上找到它。這在博客中提到:http://blogs.msdn.com/b/jonbox/archive/2011/03/05/ie9-changes-to-jump-lists-some-good-and-some-great.aspx –