开发者

How might I provided a URL use the FireShot API to take a screenshot, upload to Imgur, and return some output (eg. markdown)

开发者 https://www.devze.com 2023-02-20 11:52 出处:网络
I am looking for a way to utilize the FireShot API with JS to given a URL (or perhaps a list) use the FireShot API to take screenshot, upload to Imgur, then return the user the URLs or perhaps somethi

I am looking for a way to utilize the FireShot API with JS to given a URL (or perhaps a list) use the FireShot API to take screenshot, upload to Imgur, then return the user the URLs or perhaps something like markdown to use quickly in forums.

Method 1: Open new window

I tried opening the URL in a new window, but found that I cant control that page with JS dues to cross domain problems. The same with iFrames.

Method 2: simple $.get()

A simple $.get() wont work because of the same cross domain issues I guess?

http://jsfiddle.net/t6aeq/

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

Via PHP "Proxy"

So I tried creating a simple PHP script that gets the HTML of the URL and returns it to my JS (using file_get_contents($url)). But some sites like Microsoft will detect that I am using some automated methods and give an error page of sorts. I also cant seem to find a way to use jQuery to query that returned HTML for link[rel=stylesheet], script, style and body to append to the head and a div respectively. I posted abt that on another question

A new Idea: Embed scripts on browser level

So I thought away of getting around these is using iMacros or GreeseMonkey or something to insert scripts开发者_如何学JAVA into pages on the browser level instead? But any guidance or tips on how can I do that? Also, I'd prefer a pure JS/PHP method if available so users are not limited to using Browser plugin/scripts (tho I will be the only user for now)

It suddenly came to my mind that this may not work because the FireShot API key and Imgur is limited to the domain? Any solutions?


You might be able to inject the FireShot script using Greasemonkey. But, first use GM_xmlhttpRequest() to fetch an API key, for that page's domain, from the "Create FireShot API Key" page.

Note that GM_xmlhttpRequest() does not have the same cross-domain issues that $.get() has.

However, at this point you might be better off just writing your own Firefox add-on. Maybe start with FireShot's code for ideas. Also see the Screengrab add-on.

0

精彩评论

暂无评论...
验证码 换一张
取 消