新規投稿
フォローする

別アプリにデータを引っ張る方法(IE)

お世話になっております。

わからない事が出てきたので質問させてもらいます。

 

https://developer.cybozu.io/hc/ja/articles/211725926-%E9%96%A2%E9%80%A3%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%82%E7%85%A7%E5%85%88%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AB%E7%B0%A1%E5%8D%98%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E7%99%BB%E9%8C%B2

を元にボタンクリックで別アプリを開くプログラムを作成しております。

この時に、アプリの内容を別アプリに引っ張ってきたいのですが、IEだけ上手くデータを引っ張ってこれません。(IEは11を使用してります)

教示のほどよろしくお願いします。

ソース(該当箇所)

if(record['評価'].value == '対応完了(顧客マスターに登録)' && event.type == 'app.record.detail.show'){
 var pass_name = record['氏名'].value;
 var pass_kana = record['フリガナ'].value;
 var pass_pos = record['郵便番号'].value;
 var pass_address = record['住所'].value;
 var tell = record['電話番号_固定'].value;
 var tell_phone = record['電話番号_携帯'].value;
 var code = record['判定コード'].value;

 //ブラウザー判定
 var agent = window.navigator.userAgent.toLowerCase();

 // 任意のスペースフィールドにボタンを設置
 var mySpaceFieldButton = document.createElement('button');
 mySpaceFieldButton.id = 'my_space_field_button';
 mySpaceFieldButton.innerText = 'マスターに登録する';
 //クリック時
 mySpaceFieldButton.onclick = function () {
  //顧客マスターのアプリID
  var related =340;
  var set_query = '判定コード in ("' + code + '")';
  var set_body = {
  app: related,
  query: set_query,
 };
 //既に登録されていないか確認
 kintone.api(kintone.api.url('/k/v1/records', true), 'GET', set_body,function(resp){
  resp = resp['records'];
  if( resp.length != 0){
  alert('顧客マスターに既に登録されています');
  return false;
  }
  //関連レコードの新規作成画面のURLへのジャンプ
  var new_window = window.open("/k/" + related + "/edit");
  //IEの場合
  if(agent.indexOf('trident') !== -1){
   if (typeof new_window.addEventListener === "function") {
    new_window.addEventListener("load", function(){
    window.postMessage(new_window.kintone !== null, location.origin);
    });
   }
   window.addEventListener("message", (function(){
    return function field_set(){
    //新規レコード側のフィールドを指定してsetする
    var new_app = new_window.kintone;
    var new_record = new_app.app.record.get();
    new_record.record["氏名"].value = pass_name;
    new_record.record["フリガナ"].value = pass_kana;
    new_record.record["郵便番号"].value = pass_pos;
    new_record.record["住所"].value = pass_address;
    new_record.record["電話番号_固定"].value = tell;
    new_record.record["電話番号_携帯"].value = tell_phone;
    new_record.record["判定コード"].value = code;

    new_app.app.record.set(new_record);
    window.removeEventListener("message", field_set, false);
   };
  })(),false);
 }
 //それ以外の場合
 else{ 

        new_window.addEventListener("load", function(){
   window.postMessage(new_window.kintone !== null, location.origin);
   });

  window.addEventListener("message", (function(){
   return function field_set(){
   //新規レコード側のフィールドを指定してsetする
   var new_app = new_window.kintone;
   var new_record = new_app.app.record.get();
   new_record.record["氏名"].value = pass_name;
   new_record.record["フリガナ"].value = pass_kana;
   new_record.record["郵便番号"].value = pass_pos;
   new_record.record["住所"].value = pass_address;
   new_record.record["電話番号_固定"].value = tell;
   new_record.record["電話番号_携帯"].value = tell_phone;
   new_record.record["判定コード"].value = code;

   new_app.app.record.set(new_record);
   window.removeEventListener("message", field_set, false);
  };
  })(),false);
   }

 })
}
kintone.app.record.getSpaceElement('register').appendChild(mySpaceFieldButton);
}

0

0件のコメント

ログインしてコメントを残してください。