2011-10-06 24 views
0

我使用的是将一些内容插入到我的页面(下拉框)并且某些内容在任何div或其他元素之外的Google翻译API,但我想要去掉它。优雅地删除div以外的html内容

<div class="skiptranslate goog-te-gadget" style=""> 
<div id=":0.targetLanguage"> 
    <select class="goog-te-combo"> 
    </select> 
</div> 
Powered by // want to remove this 

我试图通过重新分配包含div的innerHTML这样做,

 var body = document.getElementById("container"); 
    body.innerHTML = body.innerHTML.replace("Powered by", " "); 

但这似乎重置/打破API的一些其他功能,我需要保持完好。

有没有更优雅的做法呢?

EDIT - 关于服务条款,如果这不被允许,是否有人知道我可以使用开源API?

+0

纠正我,如果我错了,但不会违反服务条款? – Kaivosukeltaja

+0

我不确定。这更多的是一个小工具,然后是完整的API,这可能是不同的。你知道的任何特定文件? –

回答

1

Google Translate API v1 documentation

警告!此API需要在任何API输入框 附近显示归因并显示结果,表明它是“由Google支持的 ”。如果您选择不使用.getBranding(),您有义务自己提供此品牌。在四处寻找关于此事的一些信息

2

如果您删除这些东西,我相信您会侵犯许可协议以及他们的实施欺诈行为。

请记住,Google Translate API已弃用有利于付费服务。

最好的方法是忘记谷歌翻译服务,如果你想免费版本,因为他们今年陈述they will close,并使用其他免费服务,例如Bing Service

+0

我读过这些条款,但对我来说不完全清楚。你知道它明确指出的地方吗?我使用的或多或少只是翻译页面上的所有内容(这是一个免费的API)......是否在今年的12月11日关闭,我不确定。 Theres也是这一行:内容从API返回。如果您遵守这些条款,您可以存储和修改从API返回的内容。 –

+0

谷歌表示,它将关闭该服务,以支持v2。我从来没有读过任何会反过来说的东西。您可以轻松使用[Bing服务](http://www.microsofttranslator.com/widget/),这就是我们正在做的。 – balexandre

1

,我想出了以下内容:

你为什么不只是收缩的“额外”的东西,使自己的网站上侵扰程度较低,但更在大部分合同的底部都可以看到精美的印刷品。因此,您应该遵守服务条款,不要放弃您网页上的太多房地产。

下面是CSS魔法位,它应该做的大多数浏览器的伎俩:

...

/* shrinks the entire contents of the GoogleTranslate main div to 70%, still readable */ 
#google_translate_element { 
    zoom: .7; 
    -moz-transform: scale(.7); /* FireFox understands this */ 
    -moz-transform-origin: 0 0; 
} 

/* within that, further shrink 'provided by' text, which affects the math elsewhere ... */ 
#google_translate_element div { 
    font-size: 25%; 
} 

/* on hover of the select (drop down), make it a bit bigger, don't forget it was shrunk */ 
#.0.targetLanguage select:hover { 
    font-size: 2250%; /* don't ask, it worked in Chrome & Safari, IE 8 (!) seemed ok too */ 
} 

...

我使用做了一个快速测试的最新的Chrome ,Safari浏览器,FireFox和MSie8,以及以下内容以获得Google翻译显示在页面上:

...

<script> 
    function googleTranslateElementInit() { 
    new google.translate.TranslateElement({ 
     pageLanguage: 'en', 
     gaTrack: true, 
     gaId: 'UA-xxxxxxxx-x', 
     layout: google.translateElement.InLineLayout.HORIZONTAL 
    }, 'google_translate_element'); 
    } 
</script> 

<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"> 
</script> 

...

只注意到火狐,在Windows上,是不是做的下拉列表。但它有没有上面的CSS技巧的问题(!!)

玩数字,你最喜欢的浏览器来调整你的需求。

我想将水平线分成两条线,使其更加紧凑。这可能需要一些JavaScript或其他方式来解析和偷偷在
只是在正确的位置?也许使用与上面类似的方式修改Google提供的其他布局之一。只要徽标在那里,我们应该没问题吧?

玩得开心!