繁体   English   中英

在新窗口中显示主干模板

[英]Displaying backbone template in a new window

我需要在新窗口中打开主干模板。 这可能吗? 目前,我有一个正在div中显示的模板,但是我需要将此内容显示在新窗口中吗? 我以为使用路线可能是可行的方式,但我不确定。

我是骨干菜鸟,所以也许有更好的方法可以做到这一点。

在我看来,我有:

events: 
{
  'click #active-bets' : 'loadActiveBetsPage',
}

loadActiveBetsPage: function(e)
{
  var MyApp = new Backbone.Router();
  MyApp.navigate('activebets', {trigger: true}); 
  //  , {trigger: true, target: "_blank"}
},

我以为我可能会很幸运,并且能够在此处传递目标:“ _ blank”参数。

在我的路线部分中:

var AppRouter = Backbone.Router.extend({
routes: {
    ":activebets" : "renderActiveBets",
    "*actions"      : "defaultRoute"
} });


    app_router.on('route:renderActiveBets', function () {
        $this.activeBetsView = new ActiveBetsView( { el: $this.elAccountInfo });
        $this.activeBetsView.render();

        /* thought something like this might help possibly
        if ($(event.currentTarget).prop('target') === '_blank') {
         return true;
        }
        */

    });`

在此先感谢您的任何帮助。

不可以,这是不可能的,尤其是不能直接使用骨干路由器。

从网页打开新浏览器窗口的唯一方法是使用window.open javascript方法 它将打开一个新的浏览器窗口,该窗口定向到指定的URL。 请注意,您创建的页面和您从其开始的页面彼此独立,并且无法通过javascript在它们之间进行通信。

另一种方法是使用带有target -attribute的锚标记,这将导致单击链接以打开新的窗口/选项卡。

你可以做什么:

  1. 使用用html创建的对话框来模拟新窗口,例如jQuery UI对话框
  2. 创建一个单独的网页以显示此信息,打开新的浏览器窗口,然后将新窗口定向到该网页。

根据最新评论更新:

“ ...无法通过javascript在它们之间进行通信。”

从HTML5开始,针对此的解决方案是HTML5 Web存储。

window.localStorage 

是可以与浏览器中所有打开的选项卡和窗口进行通信的API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM