Firefox 后退按钮无法正常使用 google 广告
Firefox back button not working properly with google ads
我创建了一个网站,我在其中使用 ajax 加载页面。我已经使用 pushstate 方法来更改 url。当我浏览网站然后点击后退按钮时,没有任何反应。现在,当我安装 AdBlock 时,一切正常。站点在 chrome.
上运行良好
$(document).on('ready readyAgain', function () {
function ChangeUrl(title, url) {
if (typeof (history.pushState) != "undefined") {
var obj = { Title: title, Url: url };
history.pushState(obj, obj.Title, obj.Url);
} else {
alert("Browser does not support HTML5.");
}
}
function loadPrevPage(ajax_url) {
$.ajax({
url: ajax_url,
type: "GET",
dataType: "html"
}).done(function (data, textStatus, jqXHR) {
var $divToFind = $($.parseHTML(jqXHR.responseText)).filter("#radio-main-wrapper");
$('#radio-main-wrapper').html($($divToFind).html());
var reponse = jQuery(jqXHR.responseText);
var reponseScript = reponse.find(".all_wrapper script");
jQuery.each(reponseScript, function (idx, val) {
var parent_div = $(this).parent();
window.ad_div = parent_div[0];
if (val.text === "") {
var src = val.src;
$.getScript(src);
} else {
$.globalEval(val.text);
}
});
$(document).trigger('readyAgain');
}).fail(function (jqXHR, textStatus, errorThrown) {
});
}
window.onpopstate = function (e) {
loadPrevPage(location.pathname);
}
$("body a").click(function (e) {
e.preventDefault();
ChangeUrl('', ajax_url);
$.ajax({
url: ajax_url,
type: "GET",
dataType: "html"
}).done(function (data, textStatus, jqXHR) {
var $divToFind = $($.parseHTML(jqXHR.responseText)).filter("#radio-main-wrapper");
$('#radio-main-wrapper').html($($divToFind).html());
var reponse = jQuery(jqXHR.responseText);
var reponseScript = reponse.find(".all_wrapper script");
jQuery.each(reponseScript, function (idx, val) {
var parent_div = $(this).parent();
window.ad_div = parent_div[0];
if (val.text === "") {
var src = val.src;
$.getScript(src);
} else {
$.globalEval(val.text);
}
});
$(document).trigger('readyAgain');
}).fail(function (jqXHR, textStatus, errorThrown) {
});
});
});
您可以在此处查看代码 --
http://www.planetradiocity.com/popstate/
当我进入 test1 或 test3 时,我将不得不点击两次后退按钮。
每次浏览器加载 google 广告时,它都会将页面推送到历史对象中。您可以尝试在 iframe
.
中加载 google 个广告
我创建了一个网站,我在其中使用 ajax 加载页面。我已经使用 pushstate 方法来更改 url。当我浏览网站然后点击后退按钮时,没有任何反应。现在,当我安装 AdBlock 时,一切正常。站点在 chrome.
上运行良好$(document).on('ready readyAgain', function () {
function ChangeUrl(title, url) {
if (typeof (history.pushState) != "undefined") {
var obj = { Title: title, Url: url };
history.pushState(obj, obj.Title, obj.Url);
} else {
alert("Browser does not support HTML5.");
}
}
function loadPrevPage(ajax_url) {
$.ajax({
url: ajax_url,
type: "GET",
dataType: "html"
}).done(function (data, textStatus, jqXHR) {
var $divToFind = $($.parseHTML(jqXHR.responseText)).filter("#radio-main-wrapper");
$('#radio-main-wrapper').html($($divToFind).html());
var reponse = jQuery(jqXHR.responseText);
var reponseScript = reponse.find(".all_wrapper script");
jQuery.each(reponseScript, function (idx, val) {
var parent_div = $(this).parent();
window.ad_div = parent_div[0];
if (val.text === "") {
var src = val.src;
$.getScript(src);
} else {
$.globalEval(val.text);
}
});
$(document).trigger('readyAgain');
}).fail(function (jqXHR, textStatus, errorThrown) {
});
}
window.onpopstate = function (e) {
loadPrevPage(location.pathname);
}
$("body a").click(function (e) {
e.preventDefault();
ChangeUrl('', ajax_url);
$.ajax({
url: ajax_url,
type: "GET",
dataType: "html"
}).done(function (data, textStatus, jqXHR) {
var $divToFind = $($.parseHTML(jqXHR.responseText)).filter("#radio-main-wrapper");
$('#radio-main-wrapper').html($($divToFind).html());
var reponse = jQuery(jqXHR.responseText);
var reponseScript = reponse.find(".all_wrapper script");
jQuery.each(reponseScript, function (idx, val) {
var parent_div = $(this).parent();
window.ad_div = parent_div[0];
if (val.text === "") {
var src = val.src;
$.getScript(src);
} else {
$.globalEval(val.text);
}
});
$(document).trigger('readyAgain');
}).fail(function (jqXHR, textStatus, errorThrown) {
});
});
});
您可以在此处查看代码 -- http://www.planetradiocity.com/popstate/
当我进入 test1 或 test3 时,我将不得不点击两次后退按钮。
每次浏览器加载 google 广告时,它都会将页面推送到历史对象中。您可以尝试在 iframe
.