1

我正在寻找一种方法来使用带有 JS 的FireShot API来给定一个 URL(或者可能是一个列表)使用 FireShot API 截屏,上传到 Imgur,然后返回用户 URL 或者类似 markdown 的东西,以便快速使用论坛。

方法一:打开新窗口

我尝试在新窗口中打开 URL,但发现由于跨域问题,我无法使用 JS 控制该页面。与 iFrame 相同。

方法二:简单$.get()

$.get()由于我猜同样的跨域问题,一个简单的行不通?

http://jsfiddle.net/t6aeq/

$.get($url.val(), function(data) {
        console.log(data);
});

通过 PHP“代理”

因此,我尝试创建一个简单的 PHP 脚本,该脚本获取 URL 的 HTML 并将其返回给我的 JS(使用file_get_contents($url))。但是像微软这样的一些网站会检测到我正在使用一些自动化方法并给出一个错误页面。我似乎也找不到一种方法来使用 jQuery 来查询返回的 HTMLlink[rel=stylesheet], script, style并分别body附加到 thehead和 a div我在另一个问题上发布了那个

一个新想法:在浏览器级别嵌入脚本

所以我想避开这些是使用 iMacros 或 GreeseMonkey 或其他东西将脚本插入浏览器级别的页面?但是关于如何做到这一点的任何指导或提示?此外,如果可用,我更喜欢纯 JS/PHP 方法,因此用户不限于使用浏览器插件/脚本(但我现在将是唯一的用户)

我突然想到这可能行不通,因为 FireShot API 密钥和 Imgur 仅限于域?有什么解决办法吗?

4

1 回答 1

0

您也许可以使用 Greasemonkey 注入 FireShot 脚本。但是,首先用于从“创建 FireShot API 密钥”页面GM_xmlhttpRequest()获取该页面域的API 密钥。

请注意,GM_xmlhttpRequest()没有相同的跨域问题$.get()

但是,此时您最好只编写自己的 Firefox 插件。也许从FireShot的想法代码开始。另请参阅Screengrab插件

于 2011-03-26T23:49:43.197 回答