2010-12-07 19 views
12

Çok garip bir şekilde, Google Doküman bağlantılarını yeni bir pencerede açacak şekilde ayarlama yolu yoktur. (Hedef = "_ blank"). Bir Google Dokümanı yayıncılık ve embed özelliği kullanırkeniFrame bağlantılarını (katıştırılmış Google Dokümanında) yeni pencerede açmaya zorlayın

, bir iframe pasajı oluşturulur: belgede

<iframe src="https://docs.google.com/document/pub?id=1mfSz_3cWh6eW-X3EhQTtCoZ33Km131An8Kyvmuxi5oM&amp;embedded=true"></iframe> 

Tüm bağlantılar iFrame içinde açılmış ve google'ın yönlendirme servisi ile yönlendirilecek: http://www.google.com/url?q=

Bu bağlantıları yeni bir pencerede açabileceğim bir yol var mı? Çapraz çerçeve komut dosyası sorunları olabileceğini biliyorum, bu yüzden Google'ın bunu elde etmenin kolay bir yolu yok ...

cevap

3

Tamam, daha iyi bir alternatif yokken Google Doküman URL'sini kıvırmaya karar verdim ve biraz jQuery büyüsü yapmaya karar verdim bir iFrame'e yükleniyor.

Curl.php

curl_setopt($ch, CURLOPT_URL, $Url); 
[...] 
$("#header").hide() 
$("#footer").hide() 
$('a[href^="http://"]').attr("target", "_blank"); 

sayfa.html

$("#google_content").html("<iframe width='100%' height='600' frameborder='0' src='http://www.example.com/Curl/Curl.php'></iframe>"); 

tarihinde, bu önerilen geçici çözüm gerçekten? ;) GitHub özünden bağlı

+0

Uzun zamandır sürdüğünü biliyorum, ancak bu çalışmanın tek yolu bu muydu? – Matt

+0

Maalesef evet - ama bugün umarım daha iyi bir çözüm var !? – dani

+0

İşte bulduğum bir istemci tarafı JS çözümü: https://gist.github.com/psjinx/1f2317a50eb2b506ed84 – avioing

3

Kullanıcı avioing: https://gist.github.com/psjinx/1f2317a50eb2b506ed84 iyi bir başlangıç ​​noktası olduğunu

. Ancak

-iframe srcdoc - IE desteklenmez - http://caniuse.com/#feat=iframe-srcdoc

hafifçe çözüm modifiye listem, stiller isteğe bağlıdır.

<style> 
    body { margin: 0; padding: 0; } 
    iframe { margin-left: 2vw; margin-top: 2vh; height: 90vh; width: 90vw; } 
</style> 


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 

<iframe srcdoc="" frameborder="0" scrolling="no"></iframe> 

<script> 
    $(function() { 
     $.get("https://docs.google.com/document/d/1WUsQ_Kaa_tJljadPpHO2AFwvOAIqrYFS_zehUd6iCVk/pub?embedded=true", function(html) { 
      var contents = $("iframe").contents(); 

      contents.find("html").html(html); 

      setTimeout(function() { 
       contents.find('a[href^="http://"]').attr("target", "_blank"); 
       contents.find('a[href^="https://"]').attr("target", "_blank"); 
      }, 1000); // Actually not sure if timeout is required here... 
     }); 
    }); 
</script> 
+0

Paylaşım için teşekkürler! Bunu yapmanın herhangi bir sakıncası var mı? –

+1

@FabricioPH İlgili dezavantajlar - SEO - Google'ın bu sayfayı doğru bir şekilde dizine eklediğinden emin değil. Benimki örneği - http://genesis.re/cruitment/ - kaynağı görebilirsiniz .. –