Tapestry 5
  1. Tapestry 5
  2. TAP5-1731

Dynamic loading of JavaScript libraries is sometimes broken in IE (in rare cases)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.3
    • Fix Version/s: 5.3
    • Component/s: tapestry-core
    • Labels:

      Description

      Problem is in this code:

      addScripts : function(scripts, callback) {

      var _ = T5._;

      var loaded = _(document.scripts).chain().pluck("src").without("").map(this.rebuildURLIfIE).value();

      var topCallback = _(scripts).chain().map(Tapestry.rebuildURL).difference(loaded).reverse().reduce(
      function (nextCallback, scriptURL) {
      return function()

      { this.loadScript(scriptURL, nextCallback); }

      }, callback).value();

      // Kick if off with the callback that loads the first script:

      topCallback.call(this);
      },

      In the nested callback, the "this" variable is not set to the right value, at least not inside ie. Need to fully qualify (Tapestry.ScriptLoader.loadScript()) or other bind this.

        Activity

        Howard M. Lewis Ship created issue -
        Hide
        Howard M. Lewis Ship added a comment -

        Odd, this reproduced easily for my client's project, but I'm having trouble getting it to do so for the Tapestry integration test suite.

        Show
        Howard M. Lewis Ship added a comment - Odd, this reproduced easily for my client's project, but I'm having trouble getting it to do so for the Tapestry integration test suite.
        Hide
        Howard M. Lewis Ship added a comment -

        Is suspect this is caused by my client's use of ExtJS, since it doesn't reproduce on a "vanilla" Tapestry stack.

        Show
        Howard M. Lewis Ship added a comment - Is suspect this is caused by my client's use of ExtJS, since it doesn't reproduce on a "vanilla" Tapestry stack.
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Summary Dynamic loading of JavaScript libraries is broken in IE Dynamic loading of JavaScript libraries is sometimes broken in IE (in rare cases)
        Priority Critical [ 2 ] Major [ 3 ]
        Howard M. Lewis Ship made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Assignee Howard M. Lewis Ship [ hlship ]
        Fix Version/s 5.3 [ 12316024 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        Integrated in tapestry-trunk-freestyle #613 (See https://builds.apache.org/job/tapestry-trunk-freestyle/613/)
        TAP5-1731: Dynamic loading of JavaScript libraries is sometimes broken in IE (in rare cases)

        hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1189944
        Files :

        • /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
        Show
        Hudson added a comment - Integrated in tapestry-trunk-freestyle #613 (See https://builds.apache.org/job/tapestry-trunk-freestyle/613/ ) TAP5-1731 : Dynamic loading of JavaScript libraries is sometimes broken in IE (in rare cases) hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1189944 Files : /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        46m 51s 1 Howard M. Lewis Ship 27/Oct/11 20:11

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development