Javascript отслеживания прожекторов iframe оставляет окно браузера пустым, пожалуйста, помогите! - PullRequest
1 голос
/ 17 апреля 2010

Меня попросили добавить на мой сайт тег прожектора javascript, который будет вызываться каждый раз, когда клиент загружает файл PDF. Я попытался реализовать это следующим образом:

<script type="text/javascript">
function appForm() {
 var axel = Math.random() + "";
 var a = axel * 10000000000000;
 document.write('<IFRAME SRC="http://fls.doubleclick.net/activityi;src=1234567;type=count123;cat=123do456;ord=1;num='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>');
 return false;
}
</script>
<a href="appForm.pdf" target="_blank" onClick="appForm();">Download PDF</a>

Это, кажется, почти работает. PDF-файл откроется в новом окне. Но окно, в котором вы щелкнули ссылку для скачивания, станет пустым. Есть ли способ открыть этот iframe для отслеживания, а затем открыть PDF-файл, если родительское окно не станет пустым? Ваша помощь будет очень цениться в этом.

1 Ответ

1 голос
/ 17 апреля 2010

document.write () не может быть надежно использован после загрузки страницы. Используйте более современную функцию document.createElement и ее друзей:

var iframe = document.createElement("iframe");
iframe.setAttribute("src", "http://...");
iframe.setAttribute("width", "1");
iframe.setAttribute("height", "1");
iframe.setAttribute("frameborder", "0");
document.body.appendChild(iframe);

(не проверено, но похоже, что оно должно работать ...)

...