优雅地删除div以外的html内容
我使用的是将一些内容插入到我的页面(下拉框)并且某些内容在任何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?
从Google Translate API v1 documentation:
警告!此API需要在任何API输入框 附近显示归因并显示结果,表明它是“由Google支持的 ”。如果您选择不使用.getBranding(),您有义务自己提供此品牌。在四处寻找关于此事的一些信息
如果您删除这些东西,我相信您会侵犯许可协议以及他们的实施欺诈行为。
请记住,Google Translate API已弃用有利于付费服务。
最好的方法是忘记谷歌翻译服务,如果你想免费版本,因为他们今年陈述they will close,并使用其他免费服务,例如Bing Service。
我读过这些条款,但对我来说不完全清楚。你知道它明确指出的地方吗?我使用的或多或少只是翻译页面上的所有内容(这是一个免费的API)......是否在今年的12月11日关闭,我不确定。 Theres也是这一行:内容从API返回。如果您遵守这些条款,您可以存储和修改从API返回的内容。 –
谷歌表示,它将关闭该服务,以支持v2。我从来没有读过任何会反过来说的东西。您可以轻松使用[Bing服务](http://www.microsofttranslator.com/widget/),这就是我们正在做的。 – balexandre
,我想出了以下内容:
你为什么不只是收缩的“额外”的东西,使自己的网站上侵扰程度较低,但更在大部分合同的底部都可以看到精美的印刷品。因此,您应该遵守服务条款,不要放弃您网页上的太多房地产。
下面是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提供的其他布局之一。只要徽标在那里,我们应该没问题吧?
玩得开心!
纠正我,如果我错了,但不会违反服务条款? – Kaivosukeltaja
我不确定。这更多的是一个小工具,然后是完整的API,这可能是不同的。你知道的任何特定文件? –