Bir sayfadan bağlantıları alan, bunları bir dizide saklayan ve yeni bir sekmede tek tıklamayla açılan bir araç geliştirmeye çalışıyorum. Tarayıcının pop-up spam filtresini tetiklemeden bunu gerçekleştirmenin bir yolu var mı?Açılan pencereyi tetiklemeden bir dizinden bağlantılar açın
İşte benim kod:
<?php
$base = "web.archive.org";
$time = "/web/20160101000000*/";
$domain = @$_POST["domain"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, "$base$time$domain");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 20000); //in miliseconds
$output = curl_exec($ch);
curl_close($ch);
# REPLACES ALL URLs OF WAYBACK MACHINE
$replacedHrefHtml = preg_replace('/(href=")/', "href=\"https://web.archive.org", $output);
# REPLACES ALL SRCs OF WAYBACK MACHINE
$replacedsrc = preg_replace('/(src=")/', "src=\"https://web.archive.org", $replacedHrefHtml);
#get wbCalendar
$html = str_get_html($replacedsrc);
$elem = $html->find('div[id=wbCalendar]', 0);
#extract the links and store them into an array
$data = array();
$open = '';
foreach($elem->find('a') as $element) {
$extracted = $element->href;
$open .= "window.open('{$extracted}'); ";
$data[] = $extracted;
}
echo "<a href=\"#\" class=\"cd-read-more\" onclick=\"{$open}\" style=\"float:left;\">Open multiple links</a>";
>
Burada test edebilirsiniz:? Seotify.com/archive-opener peşinteşekkürler.
Hayır, yalnızca bir kullanıcı eylemi tarafından açılan pencereler, Yani kullanıcı aslında bir şeyi tıklar, izin verilir. – adeneo
Bu UX için çok rahatsız edici. http://i.imgur.com/OXzWfoW.png –
Uyarı için teşekkürler, @Adam. Aslında, her gün Waybackmachine'de 100'den fazla alanı kontrol eden ve binlerce bağlantıyı tek tek açmamız gereken küçük bir grup insan (benim dahil) var. Süreç günde 3 - 5 saat sürer ve bu 50 satırlık kod bu sefer 45 dakikaya kadar kesilir. Ancak, bu site için pop-up filtresini kaldırmaları gerektiğini düşünüyorum. –