JavaScript 小部件不适用于我的网站

标签 javascript html widget closures

我是一名博主,我正在尝试在我的网站上上传一个小部件,我已从 here 获取了该小部件的代码

据我了解这个概念,我只需将代码复制/粘贴到 HTML 中即可。遗憾的是,这种方式行不通。

我认为它可能与我网站上的某些代码发生冲突,因此我在空 HTML 文件中对其进行了测试,但它再次不起作用。

我把代码放在一个片段中,希望有人能看一下,这样我就知道问题出在哪里。

<!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() {
	var options = {	
		layout: {	
			theme: "momondo"
			, width: "300"	
			, height: "250"	
		},					
		airports: {			
			origin: "LON",	
			destination: "PAR"	
		},					
		settings: {			
			openNewWindow: true,	
			domain: "www.momondo.com",		
			source: ""			
		}								
	};									
	var settings = options.settings;	
	var airports = options.airports;	
	var layout = options.layout;		
	var encoding = null;				
	onWidgetLoad = function (f)			
	{									
		f("mmd-flight-widget", {		
			searchForms: [{				
				type: 1,				
				searchURL: "http://[DOMAIN][PATH][QUERY]" + (!!settings.source ? "&source=" + settings.source : ""),	
				openNewWindow: settings.openNewWindow,				
				currency: settings.currency,						
				segments: [											
					{												
						airports: [									
							{ code: airports.origin || "" },		
							{ code: airports.destination || "" }	
						]											
					},												
					{												
						airports: [									
							{ code: airports.destination || "" },	
							{ code: airports.origin || "" }		 	
						]	
					}		
				]			
			}]				
		});					
	};						
	var scr = document.createElement("script");
	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;	
	var tag = document.getElementsByTagName("head");	
	if (tag && tag.length)		
	{							
		tag = tag[0];			
		tag.appendChild(scr);	
	}							
})();
 </script>

</body>
</html>

最佳答案

设置 scr["src"] 的 url 值以使用 https: 似乎可以解决问题

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

这是一个working fiddle

关于JavaScript 小部件不适用于我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42972935/

相关文章:

qt - 如何在垂直布局中水平排列项目?

webkit - 是否可以使用 WebKit 在清晰的背景上呈现网页内容?

javascript - 将JS日期+时间转换为不同时区

javascript - javascript 中的特定函数遇到问题

javascript - 执行存在于输入值字段中的 javascript - JavaScript

javascript - 从 iframe 中选择具有相同类名的两个 DIV 中的第二个

html - 在 CSS 中禁用鼠标指针和链接

javascript - 如何在不使用 POST/GET/FORM 的 onclick 事件 HTML 中设置 PHP session

javascript - 如何删除地址栏中页面的 URL?

ajax - Django - 基于验证的带有 "did you mean"提示的自定义小部件