发现在线翻译点击之后没反应了

调试之后报错

“This request has been blocked; the content must be served over HTTPS”

原因:在 HTTPS 承载的页面上不允许出现 http 请求

解决方法:

很简单 改成https协议请求jsonp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
jQuery(function () {
$('.btn-submit').on('click', function (ev) {
/*先删除旧的 */
$('#jsonp').remove();
$('body').append($('<script id="jsonp"></script>').prop('src', `https://fanyi.youdao.com/openapi.do?keyfrom=Skykai521&key=977124034&type=data&doctype=jsonp&version=1.1&callback=download&q=${$('.text-submit').val()}`));


/**并清空html */
var tBody = $('.weather-info tbody');
tBody.html('');
})


})

/*jsonp函数定义 传入的是js对象不需要转换
不能在onload里定义 ,因为是全局调用的
*/
function download(jsonp) {
var tBody = $('.weather-info tbody');
var tR = $(`<tr>
<td>${jsonp.translation}</td>
<td>${jsonp.basic && jsonp.basic.explains ? jsonp.basic.explains : "没有呢"}</td>
</tr>`);
tBody.append(tR);

}