2017-03-23 10 views
1

私はブロガーだと私は私のウェブサイト上のウィジェットをアップロードしようとしていますのために動作しません、私は私の知る限りコンセプト私を理解してhereJavaScriptのウィジェットは私のウェブサイト

からウィジェットのコードを撮影しただけで私のHTMLにコードをコピー/ペーストする必要があります。残念ながら、それはこのように動作しません。

私はサイトの一部のコードと矛盾しているので、空のHTMLファイルでテストしましたが、うまくいきません。

私はコードをスニペットに入れて、誰かがそれを見ることができればいいと思うので、どこに問題があるのか​​分かります。

HTTPSを使用するように scr["src"]のURL値を設定

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
    <title>momondo flight widget</title> 
 
</head> 
 
<body> 
 

 
<div id="mmd-flight-widget"></div> 
 
<script type="text/javascript">(function initWidget() { 
 
\t var options = { \t 
 
\t \t layout: { \t 
 
\t \t \t theme: "momondo" 
 
\t \t \t , width: "300" \t 
 
\t \t \t , height: "250" \t 
 
\t \t }, \t \t \t \t \t 
 
\t \t airports: { \t \t \t 
 
\t \t \t origin: "LON", \t 
 
\t \t \t destination: "PAR" \t 
 
\t \t }, \t \t \t \t \t 
 
\t \t settings: { \t \t \t 
 
\t \t \t openNewWindow: true, \t 
 
\t \t \t domain: "www.momondo.com", \t \t 
 
\t \t \t source: "" \t \t \t 
 
\t \t } \t \t \t \t \t \t \t \t 
 
\t }; \t \t \t \t \t \t \t \t \t 
 
\t var settings = options.settings; \t 
 
\t var airports = options.airports; \t 
 
\t var layout = options.layout; \t \t 
 
\t var encoding = null; \t \t \t \t 
 
\t onWidgetLoad = function (f) \t \t \t 
 
\t { \t \t \t \t \t \t \t \t \t 
 
\t \t f("mmd-flight-widget", { \t \t 
 
\t \t \t searchForms: [{ \t \t \t \t 
 
\t \t \t \t type: 1, \t \t \t \t 
 
\t \t \t \t searchURL: "http://[DOMAIN][PATH][QUERY]" + (!!settings.source ? "&source=" + settings.source : ""), \t 
 
\t \t \t \t openNewWindow: settings.openNewWindow, \t \t \t \t 
 
\t \t \t \t currency: settings.currency, \t \t \t \t \t \t 
 
\t \t \t \t segments: [ \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t { \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t airports: [ \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t { code: airports.origin || "" }, \t \t 
 
\t \t \t \t \t \t \t { code: airports.destination || "" } \t 
 
\t \t \t \t \t \t ] \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t }, \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t { \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t airports: [ \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t { code: airports.destination || "" }, \t 
 
\t \t \t \t \t \t \t { code: airports.origin || "" } \t \t \t 
 
\t \t \t \t \t \t ] \t 
 
\t \t \t \t \t } \t \t 
 
\t \t \t \t ] \t \t \t 
 
\t \t \t }] \t \t \t \t 
 
\t \t }); \t \t \t \t \t 
 
\t }; \t \t \t \t \t \t 
 
\t var scr = document.createElement("script"); 
 
\t scr["src"] = "http://" + settings.domain + "/widget/searchform/v1.0/?dimensions=" + (layout.width && layout.height ? (layout.width + "x" + layout.height) : "generic") + "&types=1&callback=onWidgetLoad&theme=" + layout.theme; \t 
 
\t var tag = document.getElementsByTagName("head"); \t 
 
\t if (tag && tag.length) \t \t 
 
\t { \t \t \t \t \t \t \t 
 
\t \t tag = tag[0]; \t \t \t 
 
\t \t tag.appendChild(scr); \t 
 
\t } \t \t \t \t \t \t \t 
 
})(); 
 
</script> 
 

 
</body> 
 
</html>

答えて

0

は:トリックに

scr["src"] = "https://" + settings.domain + ... 

を行うようだ。ここworking fiddle

+0

ナッシングだ、私はスニペットを実行しようとするときに発生。それが効いていると確信していますか? –

+0

私が提供したフィドルをチェックしましたか?できます。 S/Oスニペットでは機能しません...私は自分の答えに1つ追加してみましたが、あなたと同じ問題がありました。私はそれがS/O上の何らかのサンドボックス効果と関係していると思います。なぜなら、コードは私が提供したフィドルでうまく動作するからです。 – trevor

+0

ありがとう、@trevor、これはそれを動作させた。なぜそれがhttpで動作しないのか知っていますか?https – user1866925

関連する問題