vf ページ ({!$label.labelname}) の場合のように、サイドバー コンポーネントではカスタム ラベルにアクセスできないことはご存知のとおり ({!$label.labelname})、apex で webService クラスを作成する必要がありました。カスタム ラベルを作成し、sforce.apex.execute を使用して jQuery スクリプトでそのクラスにアクセスします。これで、ホームページが読み込まれると、サイドバー コンポーネントが正しく読み込まれ、以下のスクリプトが問題なく実行されます。しかし、テキストボックスにテキストを入力してテキストを検索すると、myVfPage が新しいタブにロードされ、期待される結果が表示されますが、サイドバー コンポーネントにテキストを入力して検索をクリックすると、myVfPage にリダイレクトされません。コンソールを確認すると、次のような 2 つのエラーが表示されます。これはエラーメッセージが読むものです:
1:- リソースの読み込みに失敗しました: サーバーは 500 のステータスで応答しました (内部サーバー エラー)
2:-Uncaught {faultcode:'sf:INVALID_SESSION_ID', faultstring:'INVALID_SESSION_ID: SessionHeader で無効なセッション ID が見つかりました: 不正なセッション', }
ここで何をすべきかわかりません 親切に助けてください
<script type="text/javascript" src="/resource/jQuery"></script>
<script type="text/javascript" src="/resource/connection"></script>
<script type="text/javascript" src="/resource/apexjs" ></script>
<script type="text/javascript">
var j$ = jQuery.noConflict();
var sid = getCookie('sid');
var server = "https://"+window.location.host+"/services/Soap/u/26.0";
alert(server);
sforce.connection.init(sid, server);
var custLabelSearchText = sforce.apex.execute("JqueryCustomLabelController","getCustomLabel", {});
j$(document).ready(function(){
alert(getCookie('sid'));
j$("#searchIt").bind('click', function(){
if(j$("#userInput").val() == ''){
alert(custLabelSearchText);
custLabelSearchText ='';
}else{
window.open("/apex/myVfPage?searchText="+(j$("#userInput").val()), "_blank");
}
});
});
</script>
<b>Search your Text here</b><br/>
<input id="userInput" type="text"/><br/>
<input type="button" value="Search" id="searchIt"/>