2012-04-13 39 views
11

Tôi đang sử dụng Google DFP.Quảng cáo google không đồng bộ so với Đồng bộ

Nếu tôi sử dụng quảng cáo đồng bộ từ google, trang web của tôi tải chậm vì nó cần tải quảng cáo cùng lúc tải trang web và nếu quảng cáo mất nhiều thời gian để phản hồi thì tải trang bị tạm dừng.

Nếu tôi sử dụng quảng cáo không đồng bộ, đây không phải là vấn đề vì trang sẽ tải hết hoặc không tải quảng cáo. Nói cách khác, nó làm cho trang web tải nhanh hơn. Vấn đề là, việc sử dụng quảng cáo không đồng bộ tạo ra một div có chiều rộng cố định và chiều cao bất kể có quảng cáo hiển thị hay không. Vì vậy, điều này thường tạo ra rất nhiều không gian trống trên trang web của tôi, vì không phải tất cả vị trí quảng cáo đều đang được sử dụng. Cùng đi với quảng cáo đồng bộ.

Google cung cấp lựa chọn thứ ba không tạo div, nó chỉ sử dụng javascript để hiển thị quảng cáo và nếu không có bất kỳ quảng cáo nào xuất hiện trong không gian đó, nó sẽ không hiển thị bất kỳ khoảng trắng nào là tốt, tuy nhiên nó hoạt động đồng bộ ...

Điều tôi muốn là một số phương pháp sử dụng quảng cáo không đồng bộ và không nhận được khoảng trống trong trường hợp không có quảng cáo nào xuất bản.

Cảm ơn.

+0

bạn có thể hiển thị mẫu công việc của mình không? – Ibu

Trả lời

15

Tôi nghĩ rằng những gì bạn đang muốn tìm

googletag.pubads().collapseEmptyDivs(); 

Điều đó sẽ ẩn các div trống khi không có quảng cáo nào để hiển thị. Gọi đó là trước khi dòng này:

googletag.enableServices(); 

Nhiều tài liệu ở đây, để tham khảo: http://support.google.com/dfp_premium/bin/answer.py?hl=en&answer=1650154

+0

Điều này phải được đánh dấu là câu trả lời đúng. – Olaj

+1

Vấn đề duy nhất tôi có với điều này là nó gây ra một flash của không gian trống trên tải trang, trước khi phương thức collapseEmptyDivs được gọi. Xem câu trả lời của tôi dưới đây cho cách tôi giải quyết điều đó. –

0

cũng .. bạn có thể thử cách giải quyết ... tôi không chắc chắn chính xác. nhưng bạn có thể thử xem ..

Bạn có DIV nơi quảng cáo của bạn sẽ được tải không đồng bộ, vì vậy bạn có thể thêm phần tử vào đó, bất kỳ mục giả nào và đính kèm trình xử lý sự kiện để biết khi nào sẽ được thay thế bằng Quảng cáo.

bạn có thể nghe Sự kiện DOMNodeRemoved được kích hoạt khi nút bị xóa và bạn có thể thay đổi kích thước div của mình cho phù hợp sau đó .. cho tôi biết nếu nó hoạt động hoặc bất kỳ tiến trình nào trong này.

2

Hãy thử điều này:

<div id='div-gpt-ad-YOURDFPIDGOESHERE-1' style='width:auto; height:auto; margin:0px auto; text-align:center;'> 

Điều đó sẽ kéo dài hoặc thu nhỏ div để phù hợp với kích thước sáng tạo (và thậm chí tập trung quảng cáo nhỏ trong một vùng quảng cáo lớn hơn)

1

Thêm display: none; như trong phong cách nội tuyến để div chứa.

Phương thức collapseEmptyDivs thêm kiểu nội tuyến display: none; vào div vùng chứa mẹ. Để ngăn chặn flash của khoảng trắng thừa, trước tiên tôi đã thử thêm display: none; làm kiểu CSS trong biểu định kiểu của tôi, nhưng kiểu không bị xóa khi quảng cáo được tải vào không gian đơn vị quảng cáo đích thành công. Di chuyển màn hình: none; nội tuyến dường như đã khắc phục được sự cố.

+3

Bạn cũng có thể chuyển giá trị true thành lệnh gọi phương thức collapseEmptyDivs(). Điều này bắt đầu chúng sụp đổ và sau đó mở rộng chúng khi cần thiết. Chọn thuốc độc của bạn thực sự. – Justin

Các vấn đề liên quan