Not signed in (Sign In)

Vanilla 1.1.4 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthormixtoon
    • CommentTimeAug 2nd 2008
     
    "Oberation aborted" message shows up in IE6 and IE7 when you move over a link before the page is completely downloaded!

    It's the same in the demo page for prototip2.


    any idea?
    • CommentAuthormixtoon
    • CommentTimeAug 2nd 2008
     
    I tried on prototip 1.3, and it doesn't has the problem!


    It is only in prototip 2


    just try to make your mouse courser over the links thats have the prototip id and refresh the page by clicking F5 on your keyboard,
  1.  
    I couldn't replicate the issue. What's your browser & OS?
    • CommentAuthormixtoon
    • CommentTimeAug 2nd 2008
     
    IE7
  2.  
    Thanks I see it, not sure what causes it but I'll dig into this.

    A new element is inserted into the dom the first time you open a tooltip, I'm guessing that in IE the page is not yet ready for the element at the first mouseover. Wrapping your tooltip calls in something like 'dom:loaded' should fix the issue.

    document.observe('dom:loaded', function() {
    new Tip calls
    });
  3.  
    Fixed in 2.0.3, now availble for download.
    • CommentAuthormixtoon
    • CommentTimeAug 3rd 2008
     
    Thanks alot for the new version,

    it works fine now :)
    • CommentAuthormixtoon
    • CommentTimeAug 3rd 2008 edited
     
    It works OK, but it conflicts with this java script code:


    /*
    * TabbedPane.js v1.0.0 -- Dynamic AJAX Tabs for Prototype
    * Copyright (c) 2007-2008 Jesse Farmer <jesse@20bits.com>
    * Licensed under the MIT license.
    */
    Hash.prototype.toObject = Hash.prototype.toObject || function() { return Object.clone(this); }

    var TabbedPane = function(pane, page_urls, args) {
    var args = $H({asynchronous: true, method: 'get', evalScripts: true}).merge(args).toObject();
    this.load_page = function(page_id) {
    new Ajax.Updater(pane, page_urls[page_id], args);
    }

    for (page_id in page_urls) {
    Event.observe(page_id, 'click', function(e) {
    if ('function' == typeof(args.onClick))
    args.onClick(e);

    for (page_id in page_urls) $(page_id).removeClassName('ontab');
    this.load_page(Event.element(e).addClassName('ontab').id);
    Event.stop(e);
    }.bindAsEventListener(this));

    if ($(page_id).hasClassName('ontab')) { this.load_page(page_id); }
    }
    }


    I got the same message!
  4.  
    I don't see the conflict so I guess it's a problem with that script. I haven't added anything to Prototip itself that could cause a conflict. Can't say more without seeing an actual page, but then again I'm not realy here to fix up 3th party scripts.
    • CommentAuthormixtoon
    • CommentTimeAug 3rd 2008
     
    ok, but can you change in the script that I posted so it works as the same of 2.0.3?

    I mean it works after the page fully completed? [ I'm noob in JS :( ]

    thanks
  5.  
    No, you probably want to create that pane using 'dom:loaded' as in my code above. For usage of that script you should ask it's author.
    • CommentAuthordylant
    • CommentTimeAug 3rd 2008
     
    Im having an IE7 prototip2 issue. Works in all other browsers.

    When I run
    new Tip('notice', 'Invoice Item Edited!', { style: 'notice', offset: { x: 166, y: 0 - $('notice').viewportOffset().top } }); $('notice').prototip.show();

    the " $('notice').prototip.show(); "

    part stops the rest of my javascript from running?

    Any ideas?
  6.  
    That's because in 2.0.3 the tooltip is created after the dom is ready, this is safer because it prevents the errors mixtoon was talking about. You need to use 'dom:loaded'.

    document.observe('dom:loaded', function() { $('notice').prototip.show(); });
    • CommentAuthordylant
    • CommentTimeAug 4th 2008
     
    ok I see.

    But now the show command dosent run at all.

    [code]
    onComplete: function(t) {
    if (t.responseText == "success") {
    new Ajax.Updater('InvoiceitemAddFormDiv', 'c_AdminInvoiceitemAddForm.php', { evalScripts: true });
    new Tip('notice', 'Invoice Item Edited!', { style: 'notice', offset: { x: 166, y: 0 - $('notice').viewportOffset().top } });
    document.observe('dom:loaded', function() { $('notice').prototip.show(); });
    }
    [/code]
  7.  
    At that point in your code the dom has already loaded. I guess your problem has a different nature, use firefox with the firebug addon the check out the error messages for the problem.
    • CommentAuthordylant
    • CommentTimeAug 4th 2008
     
    it works perfectly in FF. doing more tests in IE.
    • CommentAuthordylant
    • CommentTimeAug 4th 2008
     
    Only error I get from ie is:
    Line: 1922
    Character: 9
    Code: 0
    Error Message: Invalid argument.
    URL: https://mydomain.com/admin.php
    • CommentAuthordylant
    • CommentTimeAug 4th 2008
     
    is there another way to write:
    $('notice').prototip.show();
  8.  
    Why would you need a different way? I guess 'notice' doesn't exist when you call that function, or it's not extended by Prototip, meaning the dom isn't loaded. That error message doesn't tell me anything, it might just as well be a bug in your code.
    • CommentAuthordylant
    • CommentTimeAug 4th 2008
     
    I mean is there any other syntax to run the show command. :)
  9.  
    No, there's no reason to have a second way, since there's nothing wrong with the first.
    • CommentAuthordylant
    • CommentTimeAug 5th 2008
     
    I was able to get this working:
    The element id I was hooking to had the sane name as the prototip style.
    Once I changed that it works in all browsers.
    • CommentAuthorsomanyfish
    • CommentTimeMay 20th 2009
     
    I'm am trying something similar &lt;a href='http://dev.penwestchange.com/#vote-now'&gt;here&lt;/a&gt; and can not get it to work. As you can see, I have this script:

    &lt;p&gt;
    if(window.location.hash == '#vote-now') {
    document.observe('dom:loaded', function() {$('left-vote-button').prototip.show() });
    }
    &lt;/p&gt;

    The window.location.hash == '#vote-now' works fine, but the $('left-vote-button').prototip.show() doesn't do anything and does not throw any errors. Any idea what's going on? Any help much appreciated!
    • CommentAuthorsomanyfish
    • CommentTimeMay 20th 2009
     
    OK, it didn't work to go from html to text while I worked at logging in. Let's try again:

    I'm am trying something similar here and can not get it to work. As you can see, I have this script:


    if(window.location.hash == '#vote-now') {
    document.observe('dom:loaded', function() {$('left-vote-button').prototip.show() });
    }



    The window.location.hash == '#vote-now' works fine, but the $('left-vote-button').prototip.show() doesn't do anything and does not throw any errors. Any idea what's going on? Any help much appreciated!
  10.  
    It could be that $('left-vote-button') doesn't have a prototip when you call prototip.show() on it, if it's an ajax tooltip prototip.show won't work with it because ajax tooltips require a real mouse event for caching.

    Also make sure you use the latest version of Prototip and Prototype, older versions don't have prototip.show.
    • CommentAuthorsomanyfish
    • CommentTimeMay 21st 2009
     
    Thanks for the advice. I am using Prototip 2.1.0.1 and Prototype 1.6.0.3 which are both the latest version. I'm not using any kind of ajax here. I just placed some debugging in my script:

    if(window.location.hash == '#vote-now') {
    document.observe('dom:loaded', function() {
    console.log($('left-vote-button').prototip)
    $('left-vote-button').prototip.show() });
    }

    And the console returns Object, which sounds to me like the prototip exists at this point--does that make sense?

    Do you have any other ideas?

    Thanks so much!
  11.  
    $('left-vote-button').prototip.show() works fine for me when called from the firebug console. You could try introducing some delay and create the tip before you call prototip.show. You'll have to use some trial and error.
    • CommentAuthorsomanyfish
    • CommentTimeMay 21st 2009
     
    Thanks again--for future readers, just using a short delay makes it work.

    if(window.location.hash == '#vote-now') {
    document.observe('dom:loaded', function() {
    setTimeout("$('left-vote-button').prototip.show()",100);
    });
    }
  12.  
    Great, you can also use Prototype for the delay.

    $('left-vote-button').prototip.show.delay(.1);
Add your comments

    Username PasswordPlease enter the following code:
  • Format comments as