Câu trả lời của Danny giải thích giải pháp cơ bản cho điều này sau khi tôi thử nghiệm không thành công một cách rộng rãi. Tuy nhiên, tôi cần một giải pháp phức tạp hơn vì tôi có số lượng quảng cáo không xác định mà tôi muốn thay thế trên một trang nhất định, vì vậy, đây là những gì tôi đã làm:
Sơ đồ html cơ bản, định dạng của Danny tăng số lượng quảng cáo của tôi, dựa trên các yếu tố khác nhau của các hàng từ truy vấn db, tức lànhư vậy mà nó không thể nào biết đếm trước:
<html>
<body>
<? while ($r = mysql_fetch_assoc($rs)) { if (true) { ?>
<div class="adslide"><?=$ads++?></div>
<? } } ?>
</body>
</html>
tôi tách ra các css cho div adsense tôi sẽ tạo ra trong một khoảnh khắc như tôi có một cho mỗi div adslide tạo ở trên:
<style> .adsense { display: none; } </style>
ở đây, đặt ở dưới cùng của trang, tôi nhận được quảng cáo thực tế từ google vào html, số lượng được xác định bởi có bao nhiêu khe tôi có cho họ với phần trên:
<?php for ($i = 0; $i < $ads; $i++) { echo '<div class="adsense">'.$adscript.'</div>'; } ?>
Và cuối cùng tôi cycl e thông qua tất cả các quảng cáo adsense được viết vào html và điền chúng vào, từng người một, vào các khe adslide được tạo ra trong html, đảm bảo mỗi quảng cáo và khe chỉ được sử dụng/điền một lần bằng cách xóa chúng hoặc lớp của chúng sau khi tôi đang thực hiện với họ:
<script>
// http://stackoverflow.com/questions/1142861/jquery-append-google-adsense-to-div
$(function() { var b, a = $(".adsense").first();
for (; a.length > 0; a = $(".adsense").first())
{ b = $(".adslide").first(); b.append(a.find("iframe"));
a.remove(); b.removeClass("adslide"); } });
</script>
Đây là một cực kỳ lạ lỗi từ google. Tôi chỉ có thể giả định nó liên quan đến một số bảo vệ mà Google đã tạo để ngăn người khác ẩn quảng cáo của họ (bằng cách định vị chúng trên màn hình hoặc đằng sau các phần tử html khác) hoặc cố gắng thu thập số lần hiển thị mà không thực sự hiển thị quảng cáo (nghĩa là bạn có thể đặt hàng triệu những trong html nhưng người dùng sẽ không bao giờ nhìn thấy chúng, và bạn thu thập tiền mặt cho đến khi google phát hiện ra). Tuy nhiên, thực tế là lỗi này không hiển thị trong IE và Safari nhưng lại có trong Firefox và Chrome của chính Google ... Thật lạ lùng. Họ chắc chắn nên sửa lỗi này về phía họ.
Đối với những người đang làm việc với cùng một phần mềm: Tôi đã gặp phải vấn đề này khi triển khai jQuery Carousel (http://sorgalla.com/projects/jcarousel/) có quảng cáo trộn lẫn với ảnh do người dùng gửi trong băng chuyền .
Ok, vì vậy tôi đã thử một góc khác và tôi vẫn gặp lỗi tương tự. Tôi đã tạo một thành phần trong Joomla chỉ hiển thị mã quảng cáo google - http://www.sportsneo.com/google-ads Và tôi nghĩ tôi sẽ gọi nó bằng cách sử dụng Ajaxify - hoạt động tốt cho các trang web khác tôi đã thực hiện với nội dung ajax, nhưng vì một số lý do mã google adsense này ghét tôi .. http://www.sportsneo.com/fantasy-killed-my-hsc <- trang nơi mã google adsense được yêu cầu tải (bên tay phải) trong FF nó đi đến một trang trống với lỗi và IE không hiển thị bất cứ điều gì trong hộp mà nó phải đi .. :( – SoulieBaby