jsonp原生js跨域拿新浪数据插件封装【可扩展】
生活随笔
收集整理的這篇文章主要介紹了
jsonp原生js跨域拿新浪数据插件封装【可扩展】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//修改了一個bug,增加了手動釋放垃圾
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>jsonp跨域源碼插件封裝</title> </head><body><input type="text" id="code"><input type="button" value="查詢" id="serch"><script>; (function (win) {const jsonp = function (dataPack) {const callback = dataPack.callBack || '';const code = dataPack.code || 'sh000001';const getUrl = 'http://hq.sinajs.cn/list=' + code;let scriPt = document.createElement('script');scriPt.src = getUrl;scriPt.id = 'xl';const oldScript = document.getElementById('xl');const success = function () {const val = eval('hq_str_' + code);//手動垃圾回收for (let i in window) {if (/^hq_str_/.test(i)) {window[i] = null;}}callback && callback(val);}const error = function () {callback && callback('跨域發(fā)生了錯誤!');}if (oldScript) {document.body.removeChild(oldScript);document.body.appendChild(scriPt);} else {document.body.appendChild(scriPt);}scriPt.onload = success;scriPt.onerror = error;}win.jsonp = jsonp;})(window);document.querySelector('#serch').addEventListener('click', function () {jsonp({code: document.querySelector('#code').value,callBack: function (data) {console.log(data);}});})</script> </body></html>
轉(zhuǎn)載于:https://www.cnblogs.com/webSong/p/9418828.html
總結(jié)
以上是生活随笔為你收集整理的jsonp原生js跨域拿新浪数据插件封装【可扩展】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软:PDF是文档的坟墓 蓝色梦想网
- 下一篇: ARM指令集详解(超详细!带实例!)