我在这个问题上已经睡了半个晚上了。我已经通过iframe将google嵌入到Wordpress站点中,并得到了一个错误: Google服务器拒绝了您的请求。提供的API密钥无效。
我的钥匙没什么问题。我把它放在wordpress之外的一个普通的html文档中,它工作得很好。
然后,我尝试在header.php中将传感器设置为true。除了来自我的控制台的更多错误之外,没有什么不同:
加载资源失败:idmyplacekey=mykey?wmode=transparent未能加载资源:服务器响应时状态为403 () **由于需要更多的声誉,无法发布其余的
我认为问题在于?wmode=transparent被附加到密钥的末尾。是什么增加了它,我怎样才能删除它?
发布于 2016-12-09 16:23:25
问题就在你的主题上。
当您查看带有浏览器检查器(元素选项卡)中的map的页面时,可以看到该链接由?wmode=transparent结束。

页面的代码不包含?wmode=transparent,您可以在检查器的“源”选项卡上看到它:

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

在第13行,您可以看到问题的根源。这是Youtube视频的一些动作,这是开发者犯的一个严重错误。他们将?wmode=transparent添加到任何iframe的src中,包括Google地图。
我检查了主题的最新版本。同样的虫子。
您必须做的是:只需在文件/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文件中注释类似的行。
https://stackoverflow.com/questions/40996025
复制相似问题