在我的网站上,我有:
...
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
...
Run Code Online (Sandbox Code Playgroud)
上面的脚本是用于动态加载其他资源的Google脚本.(例如Google图表API)
这有99.99%的时间.但是,我刚刚找到一个客户,由于某些原因让他的公司限制访问google.com.
因此,我的网站只是抛出了一个JavaScript错误.
现在我知道如何处理,我可以检查window.Google是否存在.但我的问题是
"解决这个问题的标准方法是什么?"
换句话说,如果你嵌入第三方JavaScript,你如何最好地处理他们的JS不可用?
注意:非常重要
您无法在本地或在Intranet上托管图表代码.
请参阅Google的常见问题解答:https://developers.google.com/chart/interactive/faq#localdownload
我可以在本地或在Intranet上下载和托管图表代码吗?
抱歉; 我们的服务条款不允许您下载,保存或托管Google.load或Google.visualization代码.
Jan*_*fer 10
没有真正的选择.由于Google的服务条款,您无法在不访问google.com的情况下使用Google API.
解决方案是您的客户的公司审查其内容过滤策略.谷歌在之前关于离线访问的回答中非常明确:
...您的计算机必须能够实时访问http://www.google.com/jsapi才能使用图表.
您根据其条款和条件使用第三方解决方案,这自然会限制您的客户如何使用该解决方案.您需要坚定立场或找到更加自由许可的解决方案.(无论如何,您更有可能成功说服您的客户的IT部门,而不是请求Google更改其服务条款.)
对于第三方JS的API可能无法加载的更一般的情况,但对于您的允许保留一个本地副本服务器上,看到了这个问题.
你可以这样试试:
您可以使用指向服务器的链接,而不是使用指向您要使用的Google库的直接链接:
<script type="text/javascript" src="https://www.myserver.com/jsapi"></script>
Run Code Online (Sandbox Code Playgroud)
当您的服务器收到对此URL的传入请求时,您的服务器现在向Google发出请求以获取API并将响应发送给客户端.
这意味着您不能在本地或服务器上的任何位置安装API,并且始终直接从Google获取最实际的版本.人们也不需要访问Google(如您提到的公司),因此可以使用您的服务.
| 归档时间: |
|
| 查看次数: |
3893 次 |
| 最近记录: |