2016-10-16 10 views
0

custom-toolbar.jsView Policyボタンがあります。ボタンをクリックすると、新しいタブでPolicyフォルダを開く必要があります。これは私がこれまで行ってきたことです。AJAXを使用してAlfrescoの新しいタブでフォルダを開く方法は?

/** 
    * View Policy button click handler 
    * 
    * @method onViewDocument 
    * @param e {object} DomEvent 
    * 
    */ 
    onViewPolicy: function DLTB_onViewPolicy(e, p_obj) 
    {     
     var newPath = this.currentPath + "/Policy", 

     filter = this.currentFilter; 
     filter.filterData = newPath; 
     // Refresh the Document Library 
     YAHOO.Bubbling.fire("changeFilter", filter); 

    } 

これにより、同じタブにフォルダが開きます。この状況でAlfresco.util.Ajax.requestを使用して新しいタブで開くにはどうすればよいですか?また、Policyフォルダが何も返さない場合にエラーメッセージを表示することは可能ですか?

答えて

0

新しいタブでパスを開くだけであれば、window.open(url);を使用するだけです。

ウェブスクリプトを呼び出して検証を行う場合は、Alfresco.util.Ajax.requestを使用できます。

サンプルコード:

Alfresco.util.Ajax.request({ 
       type: "GET", 
       url: Alfresco.constants.PROXY_URI.replace('share/proxy/alfresco', 'alfresco/service') + {webscript url}, 
       dataType: 'text', 
       headers: { 
        Accept: "application/json", 
        "Access-Control-Allow-Origin": "*", 
        "Access-Control-Allow-Methods": "GET" 
       }, 
       successCallback: { 
        fn: function(response) { 
      //collect the output. 
      //if json 
      output = JSON.parse(response.serverResponse.responseText); 
      var result =output["result"]; 
      //if html is the output 
      output = (response.serverResponse.responseText); 
      var result =/<body.*?>([\s\S]*)<\/body>/.exec(output)[1];//to get contents inside body tag 
      if(result says folder is present) 
      { 
      window.open(newurl); 
      } 
      else 
      { 
      //show error popup. 
      } 
        }, 
        scope: this 
       }, 
       failureMessage: "", 
       execScripts: true 
      }); 
+0

私は直接URLにNEWPATHを割り当てることはできませんし、私はフィルターの変更を行う場合を除き、それは私がそれについて行けばどのように404を返しますか?私はAlfrescoの初心者です。 – BlueStar

+0

URLにnewPathを直接割り当てることはできません。フィルタを変更しない限り、私には404が返されます。どうすればよいですか?私はAlfrescoの初心者です。 – BlueStar

+0

@BlueStar:初心者でもあります。私はあなたの問題を解決するための回避策を与えることができます。 url = window.location.href.substr(0、window.location.href.indexOf( "&") - 3)+ "%2FPolicy%7C&page = 1"; –

関連する問題