• 愛美 加藤 16
  • NEWBIE
  • 0 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 1
    Replies
お世話になっております。
どなたか、同じような事象で解決された方がいればご教授頂きたくお願いします。

◆機能説明
レコードの添付ファイルの画像を一括でダウンロードする機能を開発しております。

◆事象
GoogleChromeのバージョンアップに伴って、
64.0.3282.186の時は正常動作を行っていたが、65.0.3325.162にアップデートするとダウンロードできなくなった。

Cross-Origin属性の場合に動作しないよう、GoogleChromeがセキュリティ強化を実施したため、
下記のようにドメインが異なるURLが動作しなくなったことが原因だと思われる。

例)
≪呼び出し元≫ https://c.cs72.visual.force.com/apex/xxxxxx
≪呼び出し先≫ https://c.cs72.content.force.com/servlet/servlet.FileDownload?file=xxxxxx

◆PG
var link = document.createElement('a');
                
link.download = 'test.jpg';
link.href = '/servlet/servlet.FileDownload?file=' + fileIdList[i];
link.click();

var id = setTimeout(countup, 2000);

◆考えられる対応
案①javascriptをURLのリンク作成以外のダウンロード記述方法に変更する
【デメリット】javascriptの動作のため、安定性が保証されない。現状、Chromeでかわりになるようなコマンドが見つからない。
【メリット】 改修範囲が少なくてすむ。現在の仕様から変更がない。

案②レコードの添付ファイルではなく、Chatterに投稿されている画像をDLする仕様に変更する
【デメリット】改修範囲が広い。現在の仕様と異なる。
【メリット】 比較的に安定したダウンロードが可能

上記の案①について、何か方法等をご存じの方がいれば、アドバイス頂けませんでしょうか。
案①が不可である場合、案②しか方法がない状態です。

以上、よろしくお願いいたします。
開発に関して初心者のため、ご容赦頂ければと思います。

現在、サービスクラウドのコンソール画面でマージ機能の開発をしています。個人取引先の一覧を表示させる部分で、あるレコードをクリックしたらその詳細画面がサブタブで開くようにしたいのですが、うまくいきません。

開発画面の主タブ内で個人取引先がサブタブで開いていくようにしたいのです。

開発はライトニングコンポーネントで行っています。まだLEX切り替えの目途が立っていないため、VFページにライトニングコンポーネントを表示させる方法で開発しています。取引先の明細要のコンポーネントに、詳細画面へ遷移するためのボタンを追加しており、押下したときの動作をコントローラで以下のように試しています。

 testOpenSubtab : function(component, event, helper) {
        try{            
            /*var subLink = '/' + component.get("v.act.Id");
            window.open('/console#%2F' + component.get("v.act.Id"));*/      
            var sf = sforce.console;
            alert('sforce.consoleを実行できました。※調査中');
            sf.getFocusedPrimaryTabId(function(tab){
                var primTabId = tab.id;
                alert('primTabId取得結果 : ' + primTabId);
                sf.getFocusedSubtabId(function(tab){
                    var subTabId = tab.id;
                    sf.openSubtab(primTabId,subLink,true);
                });
            });
        } catch(e){
             alert('エラーになりました。 ' + e);
        }
    },

try内のコメントアウトしている2行で、ブラウザのタブごとに表示は可能ですが、できればサブタブで開きたいです。
try内の3行目、 「var sf = sforce.console;」でエラー(「ReferenceError: sforce is not defined」)となってしまいます。
開発の知識が乏しくお恥ずかしいですが、もし回避可能な方法があればご教授頂ければと思います。

以上、よろしくお願い致します。
開発に関して初心者のため、ご容赦頂ければと思います。

現在、サービスクラウドのコンソール画面でマージ機能の開発をしています。個人取引先の一覧を表示させる部分で、あるレコードをクリックしたらその詳細画面がサブタブで開くようにしたいのですが、うまくいきません。

開発画面の主タブ内で個人取引先がサブタブで開いていくようにしたいのです。

開発はライトニングコンポーネントで行っています。まだLEX切り替えの目途が立っていないため、VFページにライトニングコンポーネントを表示させる方法で開発しています。取引先の明細要のコンポーネントに、詳細画面へ遷移するためのボタンを追加しており、押下したときの動作をコントローラで以下のように試しています。

 testOpenSubtab : function(component, event, helper) {
        try{            
            /*var subLink = '/' + component.get("v.act.Id");
            window.open('/console#%2F' + component.get("v.act.Id"));*/      
            var sf = sforce.console;
            alert('sforce.consoleを実行できました。※調査中');
            sf.getFocusedPrimaryTabId(function(tab){
                var primTabId = tab.id;
                alert('primTabId取得結果 : ' + primTabId);
                sf.getFocusedSubtabId(function(tab){
                    var subTabId = tab.id;
                    sf.openSubtab(primTabId,subLink,true);
                });
            });
        } catch(e){
             alert('エラーになりました。 ' + e);
        }
    },

try内のコメントアウトしている2行で、ブラウザのタブごとに表示は可能ですが、できればサブタブで開きたいです。
try内の3行目、 「var sf = sforce.console;」でエラー(「ReferenceError: sforce is not defined」)となってしまいます。
開発の知識が乏しくお恥ずかしいですが、もし回避可能な方法があればご教授頂ければと思います。

以上、よろしくお願い致します。