2011-11-09 31 views
9

Ben sadece yok bir geri verilen komut dosyası etiketi, kabul edebilir (ücretli reklam gösterimi mevcut olmadığında istenen) bir geri verilen URL'yi entegre mümkün olmuştur reklam ağları ancak bir reklam ağının bir çift var.URL'den nasıl bir geri alma etiketi oluştururum?

geri verilen komut dosyası (aynı zamanda daha yükler Javascript yürütmek gerekiyor) kendisine bir URL'nin içeriğini (728x90 resim veya flash afiş) yüklemesi gerekir. Herkes bir geri verilen kod dosyası oluşturmama yardımcı olabilir mi?

bu çalıştı:

<SCRIPT language="Javascript"> 

// loads within itself, in the 728x90 banner space 

document.write("<SCR"+"IPT language=\'Javascript\' src=\'http://www.mydomain.com/passback.php\'></SCR"+"IPT>"); 

</SCRIPT> 

Ama komut dosyası hataları var. Herhangi bir fikir?

+1

@Tom 'passback.js' dosyası nasıl görünüyor? –

+0

Hangi hatalarla karşılaştınız? –

+0

Kodunuz (göstermiş olduğunuz kısım) iyidir. Sorunlara neden olan * src * özniteliğine işaret eden betiktir - paylaşmak ister misiniz? Ayrıca, Jan sorusunu takiben - hangi senaryo hatalarını alıyorsunuz? – WTK

cevap

6

Sadece bir fikir. Bunu denersen, ne verir?

<SCRIPT language="JavaScript" type="text/javascript"> 

var script = document.createElement("script"); 
script.type = "text/javascript"; // This is for HTML 4.01 validation 
script.src = "http://www.mydomain.com/passback.php"; 
document.getElementsByTagName("head")[0].appendChild(script); 

</SCRIPT> 
+0

Bir komut dosyası hatası alıyorum. "Hata: Eksik; deyimi önce" – Tom

+2

bunu başka yerde ben @alessioalex katılıyorum – alessioalex

+0

var, yukarıdaki koddan hata almıyorsanız, bu hata kendisi komut muhtemeldir. Javascript'inizi eksik noktalı virgül ve kaşlı ayraçları bulmaya çalışmak için jslint gibi bir şeyde doğrulamayı deneyin. Yukarıdaki cevabı da destekledim, çünkü bu iyi bir teknik. – BenSwayne

0

zaten sağlanan komut Hep bunun için kullanmak birine yakındır: Bir çalıştırıyor olsalar

var js = document.createElement("script"); 
js.type = "text/javascript"; 
js.src = "//www.mydomain.com/passback.php"; 
document.getElementsByTagName('head')[0].appendChild(js); 

farklı olan tek şey URL şeması nedenle belirtilmemiş olmasıdır http sunucusu daha sonra http url çağrılır ve https üzerinde çalışırsanız https denir - bunları karıştırmak, komut dosyalarının yüklenmemesine sebep olabilir. senaryonuz hatası ile

Ben Chrome ve geliştirici araçlarını kullanarak öneririm - Bu tam olarak hangi satır sana o hatayı veriyor görmesini sağlar.

+1

+1 Özellikle http: || https: 'için değil. İnsanlar neden bunu ekliyor? URL şemasını belirtmek için – fncomp

+0

@Josh standartlar perspektifinden "doğru" yoldur.Şema içermeyen url, ne işe yaramayacağından emin olunca (yeni bir keşif) tüm tarayıcıların mevcut sayfa şemasına geri döndüğü gerçeğinden yararlanan bir saldırıdır. Bu, şema içermeyen URL'leri KULLANIMI ve savunduğumu, aynı zamanda standartların nereden geldiğini de kabul ettiğimi söyledi. Artık bu şema olmayan URL'ler çok yaygın ve yararlıdır, standart olabilirler. Ancak asıl amaç, tüm URL'lerin bir plana sahip olmasıydı. Şemaların listesi sadece http/https'den daha uzundur ve URL'ler web'in dışında kullanılabilir. – BenSwayne

+0

Diğer şemaların farkındayım, ancak bu soru tarayıcıda yer alıyor, bu yüzden herkes bir "https" şemasından 'http' erişimine katılmaktan kaynaklanan hatalara maruz kalır mı? – fncomp

0

aşağıdaki fonksiyon belge vücuda başka belgeyi yükler. Yeni belgenin URL'si, sizin durumunuzda olan http://www.alanadim.com.tr/ ile aynı etki alanında olmalıdır.

bir .js dosyası olarak aşağıdaki komut kaydedebilir ve reklam yerleştirilmesi gerektiğini koymak gerekir.

function load(url) { 
    var req = null; 

    if (window.XMLHttpRequest) { 
     req = new window.XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) { //fallback 
     try { 
      req = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try { 
       req = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e) { } 
     } 
    } 

    if (req) { 
     req.open("GET", url, false); 
     req.send(null); 
     return req.responseText; 
    } 
} 

document.write(load("http://www.mydomain.com/passback.php"));