You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Raul Montes (JIRA)" <ji...@apache.org> on 2009/03/05 03:57:58 UTC

[jira] Created: (TAP5-555) Tapestry.ScriptManager.contains throws error when element doesn't have the prop param

Tapestry.ScriptManager.contains throws error when element doesn't have the prop param
-------------------------------------------------------------------------------------

                 Key: TAP5-555
                 URL: https://issues.apache.org/jira/browse/TAP5-555
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.0.18
            Reporter: Raul Montes


Tapestry.ScriptManager.contains firsts lines are:

return $A(collection).any(function (element)
{
     var existing = element[prop];
     if (existing.blank()) return false;

If element doesn't have the prop, then the existing var is null and existing.blank() throws an exception because the call of a method to a null variable. This problem happens for example (because of this i detected it) when i want to update a zone with a block that also loads stylesheets and scripts and, in the original page, there are script and or style tags embedded (<style> without href or <script> without src). In the loop looking for an existing script or style tag that had already loaded the new script or tag in the ajax response, the existing variable in the code is null and the error triggers.

The solution is very simple, i think:
if (existing == null || existing.blank()) return false;


Regards.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-555) Tapestry.ScriptManager.contains throws error if