1. #1
    Sencha User
    Join Date
    Jan 2012
    Posts
    8
    Answers
    1
    Vote Rating
    0
    garrettweinberg is on a distinguished road

      0  

    Default Answered: how to test for missing resource

    Answered: how to test for missing resource


    Hi all,

    Here's a hopefully quick one for those with more Sencha Touch / Ext experience than I have. How would I programmatically test for the existence of a remote resource, say an image? In other words how do I forestall an HTTP 404 before it happens and perform some default action, say swapping in a default image?

    Thanks in advance,
    Garrett

  2. I ended up fixing this using plain HTML/JS, but would appreciate knowing about a more Ext-ish way to handle this. The idea is to use the onerror attribute of the <img> element to default to your fall-back image. It works fine with tpl's rather than hard-coded html.

    Code:
    
    function ImgError(source): {
        source.src = "resources/images/img_music_generic.png";
        source.onerror = "";
        return true;
    }
    
    <img src="someimage.png" onerror="ImgError(this);" />

  3. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    35,677
    Answers
    3355
    Vote Rating
    749
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    <img> tag will fire an error event and Ext.Img listens to that and fires an error event on the component if you use Ext.Img.
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  4. #3
    Sencha User
    Join Date
    Jan 2012
    Posts
    8
    Answers
    1
    Vote Rating
    0
    garrettweinberg is on a distinguished road

      0  

    Default not using Img

    not using Img


    Thanks, Mitchell. Two things. Rather than Ext.Img, I'm using a plain Ext.Component with an <image> tag in its tpl. I assume that doesn't matter. Secondly, where would I catch this error? Will it be thrown when I invoke setData() on the component?

  5. #4
    Sencha User
    Join Date
    Jan 2012
    Posts
    8
    Answers
    1
    Vote Rating
    0
    garrettweinberg is on a distinguished road

      0  

    Default


    The 404 happens during setData() according to my stack trace, but no exception is thrown.

  6. #5
    Sencha User
    Join Date
    Jan 2012
    Posts
    8
    Answers
    1
    Vote Rating
    0
    garrettweinberg is on a distinguished road

      0  

    Default


    Hello? Mitchell?...Anyone? I cannot catch a 404 during Component.setData() by the normal try{} catch{} means.

  7. #6
    Sencha User
    Join Date
    Jan 2012
    Posts
    8
    Answers
    1
    Vote Rating
    0
    garrettweinberg is on a distinguished road

      0  

    Default fixed using "plain" JS

    fixed using "plain" JS


    I ended up fixing this using plain HTML/JS, but would appreciate knowing about a more Ext-ish way to handle this. The idea is to use the onerror attribute of the <img> element to default to your fall-back image. It works fine with tpl's rather than hard-coded html.

    Code:
    
    function ImgError(source): {
        source.src = "resources/images/img_music_generic.png";
        source.onerror = "";
        return true;
    }
    
    <img src="someimage.png" onerror="ImgError(this);" />

Thread Participants: 1

Tags for this Thread

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar