ボタンに外部サイトのリンクを付ける。

ExtJSのButton(Ext.button.Button)をクリックしたときに別のURLに遷移する(または新しいウィンドウで開く)にはhref、hrefTargetを設定してやればいい。

{
    xtype:'button'
    href:'http://google.co.jp/'
    hrefTarget: '_blank'
    text: '新しいウィンドウでgoogleを開く'
}

これでとりあえずは出来るんだけど、こうするとボタンの表示領域とリンクの対象のタグの間にスペースが開くため、ボタンの端をクリックするとボタンはクリックしたのにリンク先に遷移しないという現象が発生する。

なので、結局clickイベント拾って、自前で飛ばすしかない(と思っている)

{
    xtype: 'button'
    handler: ()->
        window.open 'http://google.co.jp'
    text: '新しいウィンドウでgoogleを開く'
}