質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

347閲覧

formrunというサービスのフォーム埋め込みのJavascriptを解説してほしいです

kamekameK

総合スコア10

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/02/08 01:43

編集2019/02/08 01:45

前提・実現したいこと

formrunというサービスをどのような仕組みになっているのか気になったため埋め込み用スクリプトのコードを読んで見たのですが、イマイチ意味がわかりません。

どなたか解説していただけると幸いです。

よろしくお願いいたします。

該当のソースコード

javascript

1! function i(a, u, d) { 2 function f(r, e) { 3 if (!u[r]) { 4 if (!a[r]) { 5 var t = "function" == typeof require && require; 6 if (!e && t) return t(r, !0); 7 if (s) return s(r, !0); 8 var n = new Error("Cannot find module '" + r + "'"); 9 throw n.code = "MODULE_NOT_FOUND", n 10 } 11 var o = u[r] = { 12 exports: {} 13 }; 14 a[r][0].call(o.exports, function (e) { 15 return f(a[r][1][e] || e) 16 }, o, o.exports, i, a, u, d) 17 } 18 return u[r].exports 19 } 20 for (var s = "function" == typeof require && require, e = 0; e < d.length; e++) f(d[e]); 21 return f 22}( 23{ 1: [function (e, r, t) { 24 "use strict"; 25 var o = []; 26 27 function n() { 28 Array.prototype.forEach.call(document.querySelectorAll(".formrun-embed"), function (e) { 29 ! function (e) { 30 var r = e.dataset.formrunForm; 31 r || console.error("data-formrun-form is not set."), /@[^/]+/.test(r) || console.error("data-formrun-form is invalid: " + r); 32 var t = "https://form.run/embed/" + r, 33 n = document.createElement("iframe"); 34 n.setAttribute("src", t), n.setAttribute("frameborder", "no"), n.style.backgroundColor = "#FFFFFF", n.style.width = "100%", n.style.height = "0", e.dataset.formrunRedirect && n.addEventListener("load", function () { 35 n.contentWindow.postMessage({ 36 formrunRedirect: !0 37 }, "*") 38 }), e.appendChild(n), o.push(n) 39 }(e) 40 }) 41 } 42 window.addEventListener("message", function (e) { 43 if ("https://form.run" == e.origin) { 44 var r = JSON.parse(e.data); 45 r.height && o.forEach(function (e) { 46 0 <= e.getAttribute("src").indexOf(r.friendlyKey) && (e.style.display = "block", e.style.height = r.height + "px") 47 }) 48 } 49 }, !1), "loading" == document.readyState ? document.addEventListener("DOMContentLoaded", n, !1) : n() 50 }, 51 {} 52] 53}, 54{}, 55[1]); 56

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

azuapricot

2019/02/08 01:48

読んで意味がわからない人が解説してもらって意味を理解できるのかどうかはちょっと疑問ですが、 これ全部を解説してもらうとお金が発生しそうなレベルで大変だと思うので、一部に絞ってきいたほうがよいのでは? ここのこの書き方がわからないのですが、とか。
m.ts10806

2019/02/08 01:49

100のうちもし1でも理解できているのでしたら、その1部分を質問本文に記載してください。 「全部解説して」というのは結局他人のコードですし、他人である回答者も負担が大きすぎます。 調べて全く出てきませんか?調べ方は問題ないのでしょうか?
m.ts10806

2019/02/08 01:52

それにせめてそのサービスのURLくらいはリンク貼ってもらいたいものです。 ※正直なところ「内容きちんと理解できてないサービスを使うの?」という疑問は多くの人が持ちます。 興味本位であればそれこそ「問題・課題」を明示すべきです。
miyabi_takatsuk

2019/02/08 01:52

本当に、このスクリプト単体で完結してるものなのでしょうか? JavaScriptの場合、他の箇所でも読まれているものと連携して実行することも多々あります。 他にも関連するJavaScriptがあるなら、それも載せていただかないと、回答は得られないかと思います。
m.ts10806

2019/02/08 02:07

コード見た感じminifiedしてあったのを広げただけっぽいので、本来はこれだけじゃないはずですね。JavaScriptも。 プラグインの元コードみたいな感じです。
wwbQzhMkhhgEmhU

2019/02/08 02:13

えーっと、分からないなら実際にサービス元に問い合わせてください。 ぶっちゃけ中身はありません。iframeに流し込んでるだけですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問