【急ぎ】関連レコードの参照先アプリに簡単レコード登録について

いつもお世話になっております。

先日もキャンセルボタンが効かないで投稿させて頂いております。

今回は前回の投稿でアドバイス頂けたおかげさまで、自分のログインでは、案件情報アプリに無事追加することができましたが、他のユーザーでは、この操作ができないということが発生しました。ソースの中で

$(mySpaceFieldButton).append($button);
となっていることが原因でしょうか?
どうなふうに修正すれば、全社で使えるようになるでしょうか?
解決方法を教えていただけるよう、何卒宜しくお願い致します。

(function() {
  "use strict";
  kintone.events.on('app.record.detail.show', function(event) {
    var field_check = event.record.company.value;
    //元アプリの引継ぎ対象フィールドでの入力を確認
    if (!field_check) {
      return;
    }
    var mySpaceFieldButton = kintone.app.record.getSpaceElement('jump_button');
    //ボタンを設置
    var $button = $('<button title="案件情報アプリに追加する" class="kintoneplugin-button-normal">追加登録</button>');
    $button.click(function() {
      //関連レコードのアプリIDの取得
      var related = kintone.app.getRelatedRecordsTargetAppId('relation');
      //関連レコードの新規作成画面のURLへのジャンプ
      var new_window = window.open("/k/" + related + "/edit");
      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.company.value = field_check;
          //ここから新規で開いたkintone画面でルックアップ先の更新処理を行う
          new_record.record.company.lookup = true;
          new_app.app.record.set(new_record);
          window.removeEventListener("message", field_set, false);
          var cancel1 = new_window.document.getElementsByClassName('gaia-ui-actionmenu-cancel');
          cancel1[0].addEventListener('click', function() {
            new_window.close();
          }, false);
        };
      })(), false);
    });
    $(mySpaceFieldButton).append($button);
  });
})();

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

◎Chromeブラウザでは動作できました。

先ほどは、Internet Explorerでは他ユーザーが操作した際反応しなかったです。

 

やっぱりブラウザによって、kintoneの操作も違うでしょうか?

goroさん
cstapの瀧ヶ平です。

Internet Explorerで動かないとのことですが、ブラウザのバージョンはいくつでしょうか?

バージョンによってはInternet ExplorerではaddEventListenerが使えないため、代わりにattachEvent関数を使う必要があります。
原因がこの原因であっているのであれば、コード内でイベントハンドラを登録している部分をInternet Explorerの古いバージョンの場合にattachEventの方に置き換える処理などを書く必要があると思われます

瀧ヶ平様

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

Internet Explorer11です。

参考にさせていただきます。ありがとうございました。