【发布时间】:2014-04-12 09:44:07
【问题描述】:
我正在制作一个需要查找与另一个单词相关的单词的用户脚本。我找到了a site,在那里我可以去http://semantic-link.com/#/stack,并且会有一个与stack相关的单词列表,格式为:
<!-- various stuffs here, e.g. <head>, a <div>, another <div>, start of <body> -->
<div id="word0" class="word" onclick="updateTitle("stacks");" style="opacity: 1;">
stacks
</div>
<div id="word1" class="word" onclick="updateTitle("flue");" style="opacity: 1;">
flue
</div>
<div id="word2" class="word" onclick="updateTitle("popped");" style="opacity: 1;">
popped
</div>
<div id="word3" class="word" onclick="updateTitle("overflow");" style="opacity: 1;">
overflow
</div>
在这种情况下,我只想从该页面获取字符串stacks。我发现的所有解决方案都不起作用,因为它们:
- 需要自定义页面,
- 使用 PHP,或者
- 使用
$.ajax()、$.get()或$('something').load(),它们仅限于执行它们的域。
有什么方法可以仅使用 JavaScript 将 #word0 元素的内容作为字符串获取?或者,是否有另一种方法可以找到与另一个词相关的词?
【问题讨论】:
-
如果您使用 iframe,我认为可以。
-
scriptlet/bookmarklet 怎么样?您打算将结果用于什么目的?可以肯定的是,这样做违反了跨站点脚本,这就是您必须使用这些工具的原因。 (以及为什么 ajax 不起作用)
-
@ProllyGeek 不,你不能Get DOM content of cross-domain iframe
-
@ProllyGeek 同源策略。 developer.mozilla.org/en-US/docs/Web/JavaScript/…
-
您可以使用"How to get an AJAX get-request to wait for the page to be rendered before returning a response?" 中的技术做到这一点。 Greasemonkey 和 Tampermonkey 一直在做跨域混搭。
标签: javascript jquery html ajax greasemonkey