jQuery 国际 phone 号码插件:缺少标志和 phone 占位符
jQuery plugin for international phone numbers: flags and phone placeholder missing
我正在为我的一个项目使用 intl-tel-input、jQuery 国际 phone 号码插件。该插件声称 "Automatically set the input placeholder to an example number for the selected country",但我无法使其正常工作。到目前为止,我尝试了两件事:
1) 我下载了库并从我的代码中引用了它的一个 JS 文件(类似于 the demo)。这是我的 JS 文件的片段:
$("#phone").intlTelInput({
allowExtensions: false,
autoFormat: true,
autoHideDialCode: false,
autoPlaceholder: true,
defaultCountry: "ng",
ipinfoToken: "yolo",
nationalMode: true,
numberType: "MOBILE",
onlyCountries: ['ng', 'us', 'gb'],
preferredCountries: [],
utilsScript: "/projects/intl-tel-input-master/lib/libphonenumber/build/utils.js"
});
但是我在Chrome的JS控制台中得到如下错误:
XMLHttpRequest cannot load file:///projects/intl-tel-input-master/lib/libphonenumber/build/utils.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
2) 我将库文件夹放在服务器上并使用服务器 url (http://web.mit.edu/aizhan/www/intl-tel-input-master/lib/libphonenumber/build/utils.js) 引用 utils.js 文件。这在我的机器上仍然不起作用,但它在使用 HTTP 协议但不适用于 HTTPS 的代码笔中工作:
HTTP:http://codepen.io/atoregozh/pen/raEPbv
HTTPS:https://codepen.io/atoregozh/pen/MYMLXv
我的总体问题:如何让图书馆在本地工作?我还有 2 个子问题:1) 如何修复有关 XMLHttpRequest 加载的错误? (我之前从 Whosebug 上的其他帖子中读到过它,我不想弄乱安全设置); 2) 为什么代码通过 HTTP 而不是通过 HTTPS?
非常感谢您的帮助。如果想看实际项目代码,the index.html file is here and Javascript file is here
问题:我怎样才能让图书馆在本地工作?
您在 Yeoman 、ExpressJs 或 IIS Express 中使用。
例如(运行 服务器):
约曼服务器
我正在用 IIS Express 测试,演示文件是正确的。
问题 :XMLHttpRequest加载错误如何解决?
你在另一台服务器加载资源(跨域),我更喜欢在当前服务器加载代理。
要解决此问题,请参阅 'Loading cross domain html page with jQuery AJAX'。
另一个问题:为什么代码通过 HTTP 而不是通过 HTTPS?
如果您看到浏览器控制台,包括下面的代码。
Loading mixed (insecure) display content "" on a secure page.
Blocked loading mixed active content "http://web.mit.edu/aizhan/www/intl-tel-input-master/build/js/intlTelInput.js"
解决您在 firefox 中的问题link
if an HTTPS page includes HTTP content, the HTTP portion can be read or modified by attackers, even though the main page is served over HTTPS.
祝你好运。
我正在为我的一个项目使用 intl-tel-input、jQuery 国际 phone 号码插件。该插件声称 "Automatically set the input placeholder to an example number for the selected country",但我无法使其正常工作。到目前为止,我尝试了两件事:
1) 我下载了库并从我的代码中引用了它的一个 JS 文件(类似于 the demo)。这是我的 JS 文件的片段:
$("#phone").intlTelInput({
allowExtensions: false,
autoFormat: true,
autoHideDialCode: false,
autoPlaceholder: true,
defaultCountry: "ng",
ipinfoToken: "yolo",
nationalMode: true,
numberType: "MOBILE",
onlyCountries: ['ng', 'us', 'gb'],
preferredCountries: [],
utilsScript: "/projects/intl-tel-input-master/lib/libphonenumber/build/utils.js"
});
但是我在Chrome的JS控制台中得到如下错误:
XMLHttpRequest cannot load file:///projects/intl-tel-input-master/lib/libphonenumber/build/utils.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
2) 我将库文件夹放在服务器上并使用服务器 url (http://web.mit.edu/aizhan/www/intl-tel-input-master/lib/libphonenumber/build/utils.js) 引用 utils.js 文件。这在我的机器上仍然不起作用,但它在使用 HTTP 协议但不适用于 HTTPS 的代码笔中工作:
HTTP:http://codepen.io/atoregozh/pen/raEPbv
HTTPS:https://codepen.io/atoregozh/pen/MYMLXv
我的总体问题:如何让图书馆在本地工作?我还有 2 个子问题:1) 如何修复有关 XMLHttpRequest 加载的错误? (我之前从 Whosebug 上的其他帖子中读到过它,我不想弄乱安全设置); 2) 为什么代码通过 HTTP 而不是通过 HTTPS?
非常感谢您的帮助。如果想看实际项目代码,the index.html file is here and Javascript file is here
问题:我怎样才能让图书馆在本地工作?
您在 Yeoman 、ExpressJs 或 IIS Express 中使用。
例如(运行 服务器): 约曼服务器
我正在用 IIS Express 测试,演示文件是正确的。
问题 :XMLHttpRequest加载错误如何解决?
你在另一台服务器加载资源(跨域),我更喜欢在当前服务器加载代理。 要解决此问题,请参阅 'Loading cross domain html page with jQuery AJAX'。
另一个问题:为什么代码通过 HTTP 而不是通过 HTTPS?
如果您看到浏览器控制台,包括下面的代码。
Loading mixed (insecure) display content "" on a secure page.
Blocked loading mixed active content "http://web.mit.edu/aizhan/www/intl-tel-input-master/build/js/intlTelInput.js"
解决您在 firefox 中的问题link
if an HTTPS page includes HTTP content, the HTTP portion can be read or modified by attackers, even though the main page is served over HTTPS.
祝你好运。