maxurl
1.0.0
英語| Português(ブラジル)
Image Max URLは、通常、URLパターンを置き換えることにより、画像やビデオのより大きな/オリジナルバージョンを見つけようとするプログラムです。
現在、9000を超えるハードコードされたWebサイト(Sites.txtの完全なリスト)のサポートが含まれていますが、多くのジェネリックエンジン(WordPressやMediaWikiなど)もサポートしています。これは、他の多くのWebサイトでも機能することを意味します。
現在、次のようにリリースされています。
コミュニティ:
#image-max-url:tedomum.net )現在、この拡張機能は他のブラウザのアドオンストア(ChromeやMicrosoft Edgeなど)には利用できませんが、userscriptの代わりに拡張機能バージョンを使用する場合は、このリポジトリをサイドロードできます。
どんな貢献も大歓迎です!サポートしたいバグレポート、機能リクエスト、または新しいWebサイトがある場合は、ここに問題を提出してください。
GitHubアカウントをお持ちでない場合は、上記のコミュニティリンクのいずれかを使用するか、直接私に連絡してください。
リポジトリ自体(コードの貢献、翻訳など)に貢献したい場合は、詳細についてはContributing.MDを確認してください。
上記のように、userscript.user.jsはノードモジュールとしても機能します。
var maximage = require ( './userscript.user.js' ) ;
maximage ( smallimage , {
// If set to false, it will return only the URL if there aren't any special properties
// Recommended to keep true.
//
// The only reason this option exists is as a small hack for a helper userscript used to find new rules,
// to check if IMU already supports a rule.
fill_object : true ,
// Maximum amount of times it should be run.
// Recommended to be at least 5.
iterations : 200 ,
// Whether or not to store to, and use an internal cache for URLs.
// Set this to "read" if you want to use the cache without storing results to it.
use_cache : true ,
// Timeout (in seconds) for cache entries in the URL cache
urlcache_time : 60 * 60 ,
// List of "problems" (such as watermarks or possibly broken image) to exclude.
//
// By default, all problems are excluded.
// You can access the excluded problems through maximage.default_options.exclude_problems
// By setting it to [], no problems will be excluded.
//exclude_problems: [],
// Whether or not to exclude videos
exclude_videos : false ,
// This will include a "history" of objects found through iterations.
// Disabling this will only keep the objects found through the last successful iteration.
include_pastobjs : true ,
// This will try to find the original page for an image, even if it requires extra requests.
force_page : false ,
// This allows rules that use 3rd-party websites to find larger images
allow_thirdparty : false ,
// This is useful for implementing a blacklist or whitelist.
// If unspecified, it accepts all URLs.
filter : function ( url ) {
return true ;
} ,
// Helper function to perform HTTP requests, used for sites like Flickr
// The API is expected to be like GM_xmlHTTPRequest's API.
// An implementation using node's request module can be found in reddit-bot/dourl.js
do_request : function ( options ) {
// options = {
// url: "",
// method: "GET",
// data: "", // for method: "POST"
// overrideMimeType: "", // used to decode alternate charsets
// headers: {}, // If a header is null or "", don't include that header
// onload: function(resp) {
// // resp is expected to be XMLHttpRequest-like object, implementing these fields:
// // finalUrl
// // readyState
// // responseText
// // status
// }
// }
} ,
// Callback
cb : function ( result ) {
if ( ! result )
return ;
if ( result . length === 1 && result [ 0 ] . url === smallimage ) {
// No larger image was found
return ;
}
for ( var i = 0 ; i < result . length ; i ++ ) {
// Do something with the object
}
}
} ) ;結果は、返された画像を使用するのに役立つ可能性のあるプロパティを含むオブジェクトのリストです。
[ {
// The URL of the image
url : null ,
// Whether or not this URL is a video
video : false ,
// Whether it's expected that it will always work or not.
// Don't rely on this value if you don't have to
always_ok : false ,
// Whether or not the URL is likely to work.
likely_broken : false ,
// Whether or not the server supports a HEAD request.
can_head : true ,
// HEAD errors that can be ignored
head_ok_errors : [ ] ,
// Whether or not the server might return the wrong Content-Type header in the HEAD request
head_wrong_contenttype : false ,
// Whether or not the server might return the wrong Content-Length header in the HEAD request
head_wrong_contentlength : false ,
// This is used in the return value of the exported function.
// If you're using a callback (as shown in the code example above),
// this value will always be false
waiting : false ,
// Whether or not the returned URL is expected to redirect to another URL
redirects : false ,
// Whether or not the URL is temporary/only works on the current IP (such as a generated download link)
is_private : false ,
// Whether or not the URL is expected to be the original image stored on the website's servers.
is_original : false ,
// If this is true, you shouldn't input this URL again into IMU.
norecurse : false ,
// Whether or not this URL should be used.
// If true, treat this like a 404
// If "mask", this image is an overlayed mask
bad : false ,
// Same as above, but contains a list of objects, e.g.:
// [{
// headers: {"Content-Length": "1000"},
// status: 301
// }]
// If one of the objects matches the response, it's a bad image.
// You can use maximage.check_bad_if(bad_if, resp) to check.
// (resp is expected to be an XHR-like object)
bad_if : [ ] ,
// Whether or not this URL is a "fake" URL that was used internally (i.e. if true, don't use this)
fake : false ,
// Headers required to view the returned URL
// If a header is null, don't include that header.
headers : { } ,
// Additional properties that could be useful
extra : {
// The original page where this image was hosted
page : null ,
// The title/caption attached to the image
caption : null
} ,
// If set, this is a more descriptive filename for the image
filename : "" ,
// A list of problems with this image. Use exclude_problems to exclude images with specific problems
problems : {
// If true, the image is likely larger than the one inputted, but it also has a watermark (when the inputted one doesn't)
watermark : false ,
// If true, the image is likely smaller than the one inputted, but it has no watermark
smaller : false ,
// If true, the image might be entirely different from the one inputted
possibly_different : false ,
// If true, the image might be broken (such as GIFs on Tumblr)
possibly_broken : false
}
} ]