换了模板使用了meting音乐播放插件由于我解析了两个域名 一个是顶级域名nnnuo.com,还有个www二级域名。
但是meting插件在后台设置云解析地址的时候只要是使用其中一个域名另外一个域名访问https://www.nnnuo.com/music.html都是会出现Access to XMLHttpRequest at '请求链接' from origin 'https://nnnuo.com'
has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
header is present on the requested resource.
跨域的错误信息
看了很多人说的解决方法,大部分都说的是php加header头,其实都是没有用的。
因为跨域需要前后端配合处理 不是任何一端能独立完成的
那么针对meting的跨域问题,既然我是解析的两个域名,那使用其中某个域名访问网站时就使用那个域名去请求;
解决方法:
在meting插件的根目录下 Plugin.php 文件第215行修改为以下代码if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
{
$protocol = "https://";
}else{
$protocol = "http://";
}
$url = $protocol . $_SERVER['SERVER_NAME'];
$api = $url . Typecho_Widget::widget('Widget_Options')->plugin('Meting')->api;注意!是修改不是新增
然后在后台meting插件配置里面修改云解析地址
删除协议与域名部分
例如:https://www.nnnuo.com/action/metingapi?server=:server&type=:type&id=:id&auth=:auth&r=:r
修改为:/action/metingapi?server=:server&type=:type&id=:id&auth=:auth&r=:r
然后就不会出现跨域的现像了