云服务您现在的位置是:首页 > 博客日志 > 云服务

百度站长工具链接提交自动提交 Cross-Origin Read Blocking (CORB) blocked cross-origin response

<a href='mailto:'>微wx笑</a>的头像微wx笑 2019-07-23云服务 17 0关键字: 跨域  

百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。自动推送是百度搜索资源平台为提

百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。ZuF无知

自动推送是百度搜索资源平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。查看详情>>ZuF无知

自动推送工具代码

请将以下代码安装在网站页面中,安装完成后即可实现链接自动推送功能。查看安装方法>>ZuF无知

<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

什么是自动推送工具?自动推送工具解决了什么问题?ZuF无知

自动推送JS代码是百度站长平台最新推出的轻量级链接提交组件,站长只需将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。ZuF无知

为了更快速的发现站点每天产生的最新内容,百度站长平台推出主动推送工具,产品上线后,部分站长反馈使用主动推送方式的技术门槛较高,于是我们顺势推出更低成本的JS自动推送工具。一步安装便可实现页面自动推送,低成本,高收益。ZuF无知

我将上面的JS脚本代码加入到网站的尾部内容模板,这样就可以一次性加入所有的页面。ZuF无知

但访问页面的时候,浏览器控制台却提示:ZuF无知

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://www.baidu.com/search/error.html with MIME type text/html. 
See https://www.chromestatus.com/feature/5629709824032768 for more details.

明显是出现了跨域的问题。
ZuF无知

通过搜索看了很多关于 Cross-Origin Read Blocking (CORB) blocked cross-origin response 问题的解决方法,ZuF无知

其实解决的方法都是要在服务端做工作。ZuF无知

A、真正提供服务的服务端做修改,添加 Access-Control-Allow-Origin 头。

第一种方法:被请求页面加上下面的代码,最好content填写域名;ZuF无知

<meta http-equiv="Access-Control-Allow-Origin" content="*">

第二种方法:在请求控制器加上加上下面的代码;ZuF无知

header("Access-Control-Allow-Origin: *");

第三种方法:IIS、Apache、Nginx可以直接配置Access-Control-Allow-Origin 跨域,具体如下:ZuF无知

1、IIS配置:只需要在IIS添加HTTP响应标头即可!ZuF无知

 Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*

2、Apache配置:主要修改http.confZuF无知

<Directory "/Users/cindy/dev">
AllowOverride ALL
Header set Access-Control-Allow-Origin *
</Directory>

或者,修改Apache伪静态规则文件.htaccessZuF无知

<IfModule mod_setenvif.c>  
    <IfModule mod_headers.c>  
        <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">  
            SetEnvIf Origin ":" IS_CORS  
            Header set Access-Control-Allow-Origin "*" env=IS_CORS  
        </FilesMatch>  
    </IfModule>  
</IfModule>

3、Nginx配置:主要是修改nginx.conf;ZuF无知

location ~* \.(eot|ttf|woff|svg|otf)$ {
     add_header Access-Control-Allow-Origin *;
}

上面的eot|ttf|woff|svg|otf,表示请求后缀类型,或者也可以直接写如下代码:ZuF无知

location / {  
  add_header Access-Control-Allow-Origin *;  
}

B、编写/使用代理

不管你使用哪一种语言,Java、PHP、ASP 还是什么其它的,实现一个WebAPI来供自己调用,这样就解决了跨域的问题。
ZuF无知

具体的实现其实就是通过服务端语言,模拟一个HTTP请求。如:PHP发送HTTP请求的6种方法ZuF无知


ZuF无知

但百度的这个问题有点复杂,还没有分析 push.js 的具体内容,向百度提交了反馈,看看怎么回复再说。ZuF无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/cld-services/2019-07-23/53.html

很赞哦! () 有话说 ()

相关文章