JavaScript ライブラリの使用
Visualforce Mobile ページを開発するとき、Salesforce Mobile Classic でアクションをトリガするコマンドを含む JavaScript ライブラリを活用できます。このライブラリを使用すると、Visualforce Mobile ページとネイティブクライアントアプリケーションとの間のシームレスな操作性を提供できるようになります。
JavaScript ライブラリのアクションは、Visualforce をサポートする JavaScript 対応 iPhone および BlackBerry デバイスのどの Visualforce ページでも使用できます。Android デバイスでは、Visualforce JavaScript ライブラリはサポートされていません。BlackBerry スマートフォンで表示されるページに JavaScript ライブラリを使用する場合、Salesforce では、デバイスにバージョン 4.6 以降の BlackBerry オペレーティングシステムをインストールすることをお勧めします。
ライブラリの関数をコールするには、少量の JavaScript コードが必要です。次の関数があります。
- mobileforce.device.sync()
- モバイルクライアントアプリケーションを Salesforce と強制的に同期し、デバイスのデータレコードを更新します。
- mobileforce.device.close()
- Visualforce ページが表示されている組み込みブラウザを閉じ、元のタブまたはレコードにユーザを戻します。
- mobileforce.device.syncClose()
- モバイルクライアントアプリケーションを Salesforce と強制的に同期し、Visualforce ページが表示されている組み込みブラウ���を閉じます。
- mobileforce.device.getLocation()
- デバイスの現在位置の GPS 座標を取得します。
Visualforce ページで、次の静的リソースを使用して JavaScript ライブラリをポイントします。
外部 Web サイトは、src パラメータにインスタンス名を含める必要があります。
1<script type="application/x-javascript" src="/mobileclient/api/mobileforce.js"></script>1<script type="application/x-javascript" src="http://na1.salesforce.com/mobileclient/api/mobileforce.js"></script>次のコードは、JavaScript ライブラリで使用できるすべてのコマンドを使用した Visualforce ページの例です。
1<apex:page showheader="false">
2
3<html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <title>Visualforce Mobile Trigger Test</title>
6
7 <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
8
9 <!-- Using static resource -->
10 <script type="application/x-javascript" src="/mobileclient/api/mobileforce.js"></script>
11
12 <script>
13 function sync() {
14 mobileforce.device.sync();
15 return false;
16 }
17
18 function doClose() {
19 mobileforce.device.close();
20 return false;
21 }
22
23 function syncClose() {
24 mobileforce.device.syncClose();
25 return false;
26 }
27
28 updateLocation = function(lat,lon) {
29 document.getElementById('lat').value = lat;
30 document.getElementById('lon').value = lon;
31 }
32
33 function getLocation() {
34 mobileforce.device.getLocation(updateLocation);
35 return false;
36 }
37
38 </script>
39 </head>
40<body>
41<h2>Triggers:</h2>
42<p>
43 <a href="#" onclick="return sync();">JS sync</a><br/>
44 <a href="#" onclick="return doClose();">JS close</a><br/>
45 <a href="#" onclick="return syncClose();">JS sync and close</a><br/>
46 <a href="mobileforce:///sync">HTML sync</a><br/>
47 <a href="mobileforce:///close">HTML close</a><br/>
48 <a href="mobileforce:///sync/close">HTML sync and close</a><br/>
49</p>
50
51<h2>Location:</h2>
52
53<p>Latitude: <input type="text" disabled="disabled" id="lat" name="lat" value=""/></p>
54
55<p>Logitude: <input type="text" disabled="disabled" id="lon" name="lon" value=""/></p>
56
57<a href="#" onclick="return getLocation();">Get location</a><br/>
58
59</body>
60</html>
61
62</apex:page>