【问题标题】:Google Maps Embed Api In Wordpress: Server Rejected Your Request谷歌地图在 Wordpress 中嵌入 API:服务器拒绝了您的请求
【发布时间】:2017-04-21 03:08:55
【问题描述】:

我在这个问题上熬了半夜。我已经通过 iframe 将谷歌地图 API 嵌入到 Wordpress 网站中,但出现错误:谷歌地图 API 服务器拒绝了您的请求。提供的 API 密钥无效。

我的钥匙没有问题。我把它放在 wordpress 之外的一个普通的 html 文档中,效果很好。

然后我尝试在 header.php 中将传感器设置为 true。 除了来自我的控制台的更多错误之外没有区别:

加载资源失败: https://www.google.com/maps/embed/v1/place?q=place_id:myplacekey=mykey?wmode=transparent 加载资源失败:服务器响应状态为 403 () **无法发布其余内容,因为我需要更多声誉

我认为问题在于 ?wmode=transparent 被附加到密钥的末尾。可能会添加什么以及如何删除它?

【问题讨论】:

  • 你不能使用?网址中的两次。第二个问号需要换成&。
  • 第二个问号 ?wmode=transparent 被一些 WordPress 主题文件插入(它不是我的代码的一部分)我还暂时停用了所有插件以消除它们作为原因.你知道我怎样才能防止它被注射吗?
  • 如果没有对您的网站进行全面检查,这是不可能的,因此我无能为力。关于您的要求。如果您将删除 ?wmode=transparent,则此请求变为有效 google.com/maps/embed/v1/… Google 回答“google.com/maps/embed/v1/…”什么是正常的,表示该密钥有效。所以,你有一个问题只是因为最后是“?wmode=transparent”。
  • 它将在此处:nkyspeechandlanguageservices.com/?page_id=61,由于此问题,未投入生产。我浏览了所有主题文件并寻找对 iframe 的任何引用。没找到
  • 此页面不包含任何嵌入的地图。你能用地图创建一个单独的测试页面吗?

标签: wordpress api google-maps maps


【解决方案1】:

问题出在您的主题中。

当您在浏览器检查器(元素选项卡)中查看带有地图的页面时,您可以看到链接以 ?wmode=transparent 结束

页面的代码不包含?wmode=transparent,你可以在inspector的Sources选项卡上看到它:

这意味着页面的代码被一些js脚本修改了。在 Sources 选项卡中浏览脚本,我发现以下内容:

在第 13 行,您可以看到问题的根源。这是针对 Youtube 视频的一些操作,这是由开发人员犯了一个严重错误而完成的。他们将 ?wmode=transparent 添加到任何 iframe 的 src,包括 Google 地图。

我已经检查了主题的latest version。同样的错误。

您必须做的:只需在文件 /wp-content/themes/crescent-theme/js/jquery.custom.js 中注释第 13 行并使其如下所示:

( function( $ ) {

    function modifyPosts() {
        /* Fit Vids ---------------------*/
        $('.feature-vid, .postarea').fitVids();
    }


    //Fix z-index youtube video embedding
    $(document).ready(function (){
        $('iframe').each(function(){
            var url = $(this).attr("src");
            // $(this).attr("src",url+"?wmode=transparent");
        });
    }); 


    $( document )
    .ready( modifyPosts )
    .on( 'post-load', modifyPosts );

})( jQuery );

如果你要更新主题,你必须在同一个js文件中注释类似的行。

【讨论】:

  • 不客气。如果答案有帮助,您可以将您的问题标记为已回答(绿色复选标记)。此外,您可以单击向上箭头。这些行动会给我带来这里的声誉点。谢谢。
猜你喜欢
  • 2014-04-27
  • 2013-10-24
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多