使用GitHub页面的传单 - 不呈现

时间:2016-07-01 03:34:25

标签: javascript github leaflet github-pages

我有一个简单的网页,我已经嵌入了一个基本的传单地图。当我尝试通过我的GitHub Pages网站发布时,传单地图将不会呈现(其他一切都很好)。

GitHub Pages规范说它支持JS,这不应该是一个问题,因为它是一个API。我试图使用下载的传单版本(.css和.js文件上传到我的gh-pages存储库),但仍然没有。

任何人都有任何想法为什么这不起作用?这就是GitHub Pages表示它将托管“静态”网页(没有API,没有JS交互性)的意思吗?

1 个答案:

答案 0 :(得分:3)

修改

现在宣传单officially recommends unpkg支持https的CDN:

<link rel="stylesheet" href="https://unpkg.com/leaflet@0.7.7/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@0.7.7/dist/leaflet.js"></script>

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.3/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.3.3/dist/leaflet.js"></script>

原始回答

您可能只是面临“混合内容”问题(来自HTTP协议的资源试图加载到通过安全HTTPS协议访问的网页上)。

请注意最近网站的{GITHub页面now enforce HTTPS protocol

  

2016年6月15日之后创建并使用github.io域名的GitHub页面网站需要执行HTTPS。

这意味着即使您手动输入http://my-site.github.io,您也会自动重定向到https://my-site.github.io

官方传单CDN不幸地支持HTTPS协议。

但是,您可以使用支持HTTPS的备用CDN,例如cdnjs

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.js"></script>

但是,当您尝试使用本地(下载)脚本时,它仍然无法正常工作?

注意:

仅为“静态”网页提供服务的GitHub页面意味着它们无法在服务器端动态生成,例如通过PHP。但是,您可以自由使用客户端代码(JavaScript)。例如,Leaflet官方网站实际上是在GitHub上托管的。