RMAGICK не может читать удаленное изображение

Моя env - Linux Centos, и использовать Ruby 1.8.7, и код здесь ниже:

require 'rubygems'
require 'RMagick'
Magick::Image.read("http://image.domain.com/image.darenhui.com/images/random_bg/01.jpg")[0]

Это бросает ошибку, как ниже:

in `read': no decode delegate for this image format `//image.domain.com/images/random_bg/01.jpg' @ error/constitute.c/ReadImage/532 (Magick::ImageMagickError), 

, но если я читаю от локального типа:

    require 'rubygems'
    require 'RMagick'
    Magick::Image.read("/local/staticimages/random_bg/01.jpg")[0]

Все в порядке. Я бегаю идентифицировать формат и увидеть ниже:

     JPEG* JPEG      rw-   Joint Photographic Experts Group JFIF format (62)
     JPG* JPEG      rw-   Joint Photographic Experts Group JFIF format (62)

, но когда я проверяю идентичность для «http://image.domain.com/image.darenhui.com/images/random_bg/01.jpg», чтобы провалиться, но успех Для "/local/staticimages/random_bg/01.jpg"

can Кто-то даст мне некоторую подсказку? заранее спасибо.

-121--1055271- Обнаружение переходов CSS с помощью JavaScript (и без Modernizr)? Как я обнаружил, что браузер поддерживает переходы CSS с помощью JavaScript (и без использования Modernizr)?

Как Будет ли я обнаружить, что браузер поддерживает CSS-переходы с помощью JavaScript (и без использования Modernizr)?

28
задан Brian Tompsett - 汤莱恩 22 September 2019 в 08:54
поделиться

2 ответа

Здесь, как я использовал:

    var style = document.documentElement.style;

    if (
        style.webkitTransition !== undefined ||
        style.MozTransition !== undefined ||
        style.OTransition !== undefined ||
        style.MsTransition !== undefined ||
        style.transition !== undefined
    )
    {
        // Support CSS3 transititon
    }
2
ответ дан 28 November 2019 в 02:25
поделиться

3 способа сделать это:

var supportsTransitions  = (function() {
    var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
        v = ['ms','O','Moz','Webkit']; // 'v' for vendor

    if( s['transition'] == '' ) return true; // check first for prefeixed-free support
    while( v.length ) // now go over the list of vendor prefixes and check support until one is found
        if( v.pop() + 'Transition' in s )
            return true;
    return false;
})();

console.log(supportsTransitions) // 'true' on modern browsers

ИЛИ:

var s = document.createElement('p').style,
        supportsTransitions = 'transition' in s ||
                              'WebkitTransition' in s ||
                              'MozTransition' in s ||
                              'msTransition' in s ||
                              'OTransition' in s;

console.log(supportsTransitions);  // 'true' on modren browsers

Если вы действительно хотите использовать правильный префикс, используйте этот :

function getPrefixed(prop){
    var i, s = document.createElement('p').style, v = ['ms','O','Moz','Webkit'];
    if( s[prop] == '' ) return prop;
    prop = prop.charAt(0).toUpperCase() + prop.slice(1);
    for( i = v.length; i--; )
        if( s[v[i] + prop] == '' )
            return (v[i] + prop);
}

// get the correct vendor prefixed property
transition = getPrefixed('transition');
// usage example
elment.style[transition] = '1s';
34
ответ дан 28 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: