0

我正在尝试为我的项目设置固定站点功能。问题是我想让任务成为 javascript 操作而不是加载新页面。这样做的原因是该站点被设计为只能在一个窗口中工作。

我尝试添加以下 META 标签:

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

但是,这会导致任务根本不出现。(使用正常的 URL 使其显示得很好)

有没有办法做到这一点?我能想到的最好的方法是哈希并检查hashchange事件,但这不起作用,因为它会在窗口的新选项卡中打开......

4

2 回答 2

0

恐怕这是不支持的,因为操作列表是为启动应用程序而设计的,而不是用于在其中导航。

如果你真的想实现它,你可以打开一个新窗口,通过 Web 套接字向服务器发送消息,并让服务器也通过 Web 套接字将该消息转发到应用程序窗口。但这是一种非常 hacky 的方法,仅适用于 IE10。

于 2012-06-19T18:20:38.307 回答
0

这个问题可以通过使用哈希来解决。通过将 设置为action-uriJavaScript 可读的东西,JS 就可以读取它,处理指令,然后清除散列以准备下一个任务。

这样做的好处是即使窗口还没有打开它也能工作,因为 JS 也会在第一次加载时读取哈希值。

关键是要添加window-type=self到内容中。

于 2012-06-19T19:01:11.440 回答