在新窗口中显示 Backbone.js 模板

ymdaylpp  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(142)

我需要在新窗口中打开一个 Backbone.js 模板。这可能吗?目前我有一个显示在div中的模板,但我需要在新窗口中显示此内容?我认为使用路由可能是一种方法,但我不确定。
我是一个菜鸟的 Backbone ,所以可能有一个更好的方法来做到这一点。
在我看来,我已经得到了:

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;
        }
        */

    });`

提前感谢你在这件事上的任何帮助。

0sgqnhkj

0sgqnhkj1#

不,这是不可能的,尤其是不能直接与 Backbone 路由器。
从网页打开新浏览器窗口的唯一方法是使用window.open javascript method。它将打开一个指向指定URL的新浏览器窗口。请注意,您创建的页面和您开始的页面是相互独立的,它们之间无法通过javascript进行通信。
另一种方法是使用带有target -attribute的锚标记,这会导致单击链接打开一个新窗口/选项卡。
您可以执行的操作:
1.使用html创建的对话框模拟新窗口,例如jQuery UI Dialog
1.创建一个单独的网页来显示此信息,打开一个新的浏览器窗口并将新窗口定向到此网页。

vsikbqxv

vsikbqxv2#

根据上一条注解更新:
“......它们之间无法通过JavaScript进行通信。”
从HTML5开始,解决方案就是HTML5 Web存储。

window.localStorage

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

相关问题