浏览器跨域获取Lrc歌词数据的解决办法

2016-02-19 12:25 25 1 收藏

下面请跟着图老师小编一起来了解下浏览器跨域获取Lrc歌词数据的解决办法,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Web开发 】

获取同一个域的数据,可以通过XMLHTTP组件或IFRAME来实现,不存在跨域访问的权限问题,因此比较简单。
    但如果要访问不同域的数据时,由于浏览器的安全设置,XMLHTTP没有权限获取数据,而IFRAME没有权限将获取的数据传递给父窗口,似乎没有其它解决办法。

    顿悟……
    网页内引用不同域的脚本并不会提示权限不足,对了,就是它没错!

    解决方法找到了,现在来简单测试一下:

    首先在51js.com服务器上新建一页面(Test.html)。




    解释两个关键点:
    1. lastScript用于存放上次建立的script节点的ID,在下次要再新建script节点时,要删除上次建立的节点,以免加载的脚本越来越多,占用过多的内存。
    2. url后面加了一个数值d是为了防止浏览器缓存脚本数据,在本例中可以不加,但是如果脚本是由服务器动态生成的,那最好加上。

    然后再建立两个java script脚本用于测试。

alert.js:
alert('You can see me!');
info.js:
g('myname').value='谱乐视听';
g('myblog').value='www.aboutplayer.com';

    好了,谱乐已把它们放在aboutplayer.com服务器下,这样它们和Test.html就不在同一个域内了。

    用浏览器打开Test.html文件。
    点击“Test Alert”,应该会弹出对话框显示You can see me!。
    点击“Get My Info”,应该会在文本框中显示本站的信息。

    进而,若把Lrc歌词数据放入Js脚本文件中(不是直接更改文件扩展名),就可实现跨域获取Lrc歌词数据了。

来源:https://www.tulaoshi.com/n/20160219/1600845.html

延伸阅读
标签: 浏览器
UC浏览器电脑版无法卸载解决办法   UC浏览器电脑版无法卸载解决办法: 很多人发现卸载之后,重启电脑,UC浏览器还是在 1、首先,建议大家用第三方软件进行卸载操作,不要用UC浏览器自带的卸载程序,例如360软件管家 如上图所示,对于热门软件,360软件管家有一键卸载功能,可以自动清除残余配置文件 2、如...
360安全浏览器崩溃怎么办呢?大家在使用360安全浏览器的时候经常会遇到360浏览器崩溃的情况,这该怎么解决呢?下文小编就为大家带来360安全浏览器崩溃的解决办法,下面就和小编一起去了解下吧。 360安全浏览器下载地址: 360安全浏览器2015官方免费版 360安全浏览器崩溃解决办法: 方法一: 360浏览器开太多标签占用了内存...
标签: 浏览器
搜狗浏览器兼容模式停止工作解决办法   搜狗浏览器兼容模式停止工作怎么办?微软为Win10用户推送了一个紧急修复Flash漏洞的补丁,根据部分用户反馈,安装了该补丁后在兼容模式会出现崩溃或卡死的问题。后续我们发现,所有IE内核的浏览器都受到该补丁的影响,无法正常使用。 遇到该问题的同学,建议使用高速模式浏览网页。如果需要...
标签: 电脑入门
win10 360浏览器无法上网解决办法 1、升级到win10后,360浏览器无法打开网页,但是自带的edge浏览器却可以 原因分析:系统LSP连接损坏,而edge走的和其他浏览器不一样的通道 解决方案: ①、重置winsock或修复LSP a.单击开始,在开始搜索框中键入cmd,右键单击cmd.exe,单击以管理员身份运行,然后按继续。 b.在命令提示符处键入 netsh...
标签: 浏览器
xskywalker天行海购浏览器无法连接服务器解决办法   不少小伙伴喜欢海淘,喜欢用各种上外网辅助工具来实现海购,近日xskywalker天行海购浏览器火了起来,然而xskywalker无法连接服务器的现象频频出现,下面小编就来教一下大家xskywalker天行海购浏览器无法连接服务器解决办法。 xskywalker天行海购浏览器无法连接服务器解决...

经验教程

184

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部