openSubtabByPrimaryTabName()
指定された URL (相対または絶対) のコンテンツを表示する新しいサブタブ (主タブ内) を開きます。また、既存のサブタブを上書きすることもできます。主タブの名前を使用して主タブで新しいサブタブを開く場合に使用します。このメソッドは、API バージョン 22.0 以降でのみ使用できます。
タブを開くときにエラーが発生した場合、JavaScript コンソールでエラーコードがレポートされます。
構文
1sforce.console.openSubtabByPrimaryTabName(primaryTabName:String, url:URL, active:Boolean, tabLabel:String, id:String, (optional)callback:Function, (optional)name:String)引数
| 名前 | 型 | 説明 |
|---|---|---|
| primaryTabName | string | サブタブが開いている主タブの名前。 |
| url | URL | 開いているサブタブの URL。 URL が Salesforce オブジェクトを対象としている場合、そのオブジェクトは、Salesforce コンソールアプリケーション設定で指定したように表示されます。たとえば、ケースを主タブとして開くように設定している場合、ケースで openSubtab() がコールされると、ケースは主タブとして開きます。 ユーザは、コンソールのホワイトリストに追加されている既存の URL を開くことができます。詳細は、オンラインヘルプの「Salesforce コンソールのホワイトリストのドメイン」を参照してください。 |
| active | boolean | true の場合、開いているサブタブがすぐに表示されます。false の場合、開いているサブタブがバックグラウンドで表示され、フォーカスは現在のタブに残ります。 |
| tabLabel | string | 開いているサブタブの表示ラベル (省略可能)。表示ラベルが指定されていないと、外部ページが表示されます。 表示ラベルをテキストとして追加します。HTML はサポートされていません。 |
| id | string | 上書きするサブタブの ID。 新しいサブタブを作成するには、null を使用します。 |
| callback | function | メソッドの完了時にコールされる JavaScript メソッド。 |
| name | string | 開いているサブタブの名前 (省略可能)。 この引数は、API バージョン 22.0 以降でのみ使用できます。 |
サンプルコード – Visualforce
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page standardController="Case">
18
19 <A HREF="#" onClick="testOpenSubtab();return false">
20 Click here to open a new subtab by primary tab name</A>
21
22 <apex:includeScript value="/support/console/22.0/integration.js"/>
23 <script type="text/javascript">
24 function testOpenSubtabByPrimaryTabName() {
25 //First open a primary tab by name
26 sforce.console.openPrimaryTab(null, 'http://www.yahoo.com', true, 'Yahoo', openSubtab, 'yahoo');
27 }
28
29 var openSubtab = function openSubtab(result) {
30 //Open the subtab by the name specified in function testOpenSubtabByPrimaryTabName()
31 sforce.console.openSubtabByPrimaryTabName('yahoo', 'http://www.salesforce.com', true,
32 'salesforce', null, openSuccess);
33 };
34
35 var openSuccess = function openSuccess(result) {
36 //Report whether we succeeded in opening the subtab
37 if (result.success == true) {
38 alert('subtab successfully opened');
39 } else {
40 alert('subtab cannot be opened');
41 }
42 };
43 </script>
44</apex:page>応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェクトには次の項目が含まれます。
| 名前 | 型 | 説明 |
|---|---|---|
| success | boolean | サブタブが正常に開かれた場合は true、サブタブが開かれなかった場合は false。 |
| id | string | サブタブの ID。ID はユーザセッションの間のみ有効です。ユーザが Salesforce コンソールから離れると ID は無効になります。 |