0

我在这里签署了一个跨域 Manifest.Json 我的 Json 文件(位于http://123myblog14.co.nf/manifest.json):

{
  "short_name": "Universal Manual",
  "name": "Universal Manual",
  "theme_color": "#4A90E2",
  "background_color": "#F7F8F9",
  "display": "standalone",
  "icons": [
    {
      "src": "https://1.bp.blogspot.com/-jNpzwSZoHI4/Wn8trSeVxOI/AAAAAAAAAao/SJEDZypr0aw22ekaf54gP_uBc0UMIkevACLcBGAs/s320/48x48.png",
      "type": "image/png",
      "sizes": "48x48"
    },
    {
      "src": "https://1.bp.blogspot.com/-EvJoMC9Ofio/Wn8trZJCPeI/AAAAAAAAAak/aVIfXSwRJp0ccKYpXg52ZKs6tNB2SpNDwCLcBGAs/s320/96x96.png",
      "type": "image/png",
      "sizes": "96x96"
    },
    {
      "src": "https://3.bp.blogspot.com/-Al0F7R0hpjo/Wn8trVIOoEI/AAAAAAAAAag/5ESG8a3skgMGEhS5zVZ-5FKPHA3bWTBxQCLcBGAs/s320/144x144.png",
      "type": "image/png",
      "sizes": "144x144"
    },
    {
      "src": "https://1.bp.blogspot.com/-myt190wt15M/WnnH7The49I/AAAAAAAAAZY/86YIMqtB7U8cZ7wHIhFx-pgSHZVg0V5YQCPcBGAYYCw/s320/192x192.png",
      "type": "image/png",
      "sizes": "192x192"
    }
  ],
  "start_url": "/?utm_source=launcher"
}

但是 Crome 在警告中显示低于错误。

property "start_url" ignored,should be same origin as document

我使用 Https 在我的网站上使用它,但托管它的网站不是 https。这是原因吗?

4

1 回答 1

0

如果跨域标头不存在,chrome 会将跨域标头设置为主机名,要解决此问题,您需要使用您网站Access-Control-Allow-Origin中的值*( 123myblog14 )发送

您可以像这样使用 php 发送标头:

 header('Access-Control-Allow-Origin','*');

或通过 .htaccess

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

更新

您可以像这样在 manifest.json 旁边创建一个 php 文件

manifest.php

<?php
 header('Access-Control-Allow-Origin: "*"');
 header('Content-Type: application/json');
 echo file_get_contents('manifest.json');
?>

你可以从 manifest.php 访问 manifest.json

于 2018-02-10T18:03:14.147 回答