仅使用JavaScript获取其他网站元素的内容

The*_*Hat 1 html javascript ajax jquery greasemonkey

我正在编写一个用户脚本,需要找到与另一个单词相关的单词.我找到了一个网站,我可以访问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>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我想stacks从该页面获取字符串.我发现的所有解决方案都不起作用,因为它们:

有没有什么办法可以#word0只使用JavaScript 将元素的内容作为字符串获取?或者,是否有另一种方法可以找到与另一个单词相关的单词?

Adr*_*agg 6

您在问题中说明:

$.ajax(),, $.get()$('something').load()......仅限于执行它们的域.

这似乎指向了jQuery.实际上,限制是在浏览器本身使用Javascript,并且归结为名为Same Origin Policy的特定安全方面:

该策略允许在源自同一站点的页面上运行的脚本(方案,主机名和端口号的组合)在没有特定限制的情况下访问彼此的DOM,但阻止访问不同站点上的DOM

实质上,除非远程服务器启用了CORS以允许服务器的查询调用它,否则您尝试执行的操作是不可能的.由于您无法控制远程服务器,我怀疑这是否已设置.