不推荐使用getCurrentPosition

时间:2017-10-30 02:47:43

标签: iframe google-maps-api-3 google-apps-script deprecation-warning

我一直在使用嵌入在script.google.com上生成的网站中的Google地图,使用HTML服务,如下所示:

HtmlService.createTemplateFromFile('index.html');

这太棒了,我制作了一个带有嵌入式地图的网络应用(请参阅https://script.google.com/macros/s/AKfycbzFiIPsnNgDnz8pmykbyok1xwDdL85EEAwqohoSo9G1QasbWNk/exec)。 但是,我现在被警告说,不推荐使用跨域iframe中的" getCurrentPosition和watchPosition用法,并且将在2017年12月左右的M63中禁用"。

麻烦的是,在script.google.com上使用HtmlService.createTemplateFromFile,我没有选择(我知道)将allow="geolocation"附加到iFrame(HtmlService自动生成iFrame)。这将导致网络应用程序在12月失败。

请告知我应该做些什么来避免问题!!!

非常感谢,

萨拉。

1 个答案:

答案 0 :(得分:0)

您可以查看以下链接:12: Deprecating Permissions in Cross-Origin Iframes。为了使跨域框架能够使用这些特征,嵌入页面必须指定一个特征策略,该特征策略启用框架的特征。

例如,要在iframe中启用地理位置,嵌入器可以将iframe标记指定为:

<iframe src="https://example.com" allow="geolocation"></iframe>
  

如果您是使用跨源iframe的网站的开发者   并且你希望那些iframe继续能够请求/使用一个iframe   在上述功能中,嵌入iframe的页面需要   改变。最简单的方法是将标签修改为   包括allow属性,该属性指定权限的名称。   例如,要为iframe启用地理定位和麦克风/摄像头,请执行此操作   将指定以下内容:

<iframe src="https://example.com" allow="geolocation; microphone; camera"></iframe>
     

allow的有效值包括:

     
      
  • 地理位置
  •   
  • 麦克风
  •   
  • 相机
  •   
  • MIDI
  •   
  • 加密的媒体
  •   
     

请注意,如果使用权限的iframe具有相同的权限   作为顶级页面的起源,则不需要进行任何更改。

希望这有帮助!