0

新しいウィンドウでバックボーン テンプレートを開く必要があります。これは可能ですか?現在、div 内に表示されているテンプレートを持っていますが、このコンテンツを新しいウィンドウに表示する必要がありますか? ルートを使用する方法があるかもしれないと思いましたが、よくわかりません。

私はバックボーンに慣れていないので、おそらくこれを行うためのより良い方法があります。

私の見解では、私は持っています:

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

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

運が良ければ、target: "_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;
        }
        */

    });`

これについて何か助けてくれてありがとう。

4

2 に答える 2

1

いいえ、これは不可能です。特に、バックボーン ルーターを直接使用することはできません。

Web ページから新しいブラウザ ウィンドウを開く唯一の方法は、window.openjavascript メソッドを使用することです。指定した URL に移動する新しいブラウザ ウィンドウが開きます。作成したページと開始したページは互いに独立しており、javascript を介してそれらの間で通信する方法がないことに注意してください。

もう 1 つの方法は、アンカー タグにtarget-attributeを付けることです。これにより、リンクをクリックすると新しいウィンドウ/タブが開きます。

できること:

  1. html で作成されたダイアログを使用して、新しいウィンドウをシミュレートします ( jQuery UI ダイアログなど)。
  2. この情報を表示する別の Web ページを作成し、新しいブラウザ ウィンドウを開き、新しいウィンドウをこの Web ページに誘導します。
于 2013-08-22T11:23:09.787 に答える