Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1228

core.js doesn't process embedded <script></script> elements in ajax fragments

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.1
    • Fix Version/s: 4.1.2
    • Component/s: Framework
    • Labels:
      None

      Description

      I have a widget that returns an html fragment that contains a script block. The core.js machinery that handles the DojoAjaxResponseBuilder output doesn't execute the script in the script block.

      Here's the ajax response (note the conspicuous alert dialog that should pop up):

      <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
      <!ENTITY nbsp ' '>
      ]>
      <ajax-response><response id="formhidden" type="element"><div style="display:none;" id="formhidden"><input type="hidden" name="formids" value="Hidden,LinkSubmit,LinkSubmit_0,title,url,If,tagAutoCompleter,description,tagEventLoop,tagEventKeywordLoop,tagEventKeywordLoop_0" />

      <input type="hidden" name="component" value="form" />
      <input type="hidden" name="page" value="bumpq:BumpletPage" />
      <input type="hidden" name="service" value="direct" />
      <input type="hidden" name="session" value="T" />
      <input type="hidden" name="submitmode" value="" />
      <input type="hidden" name="submitname" value="" />
      <input type="hidden" name="Hidden" id="Hidden" value="ZH4sIAAAAAAAAAO1de2zcyHmnZMmy5Ydk+2z3enWOvjv7znfeXXK5y136YNxJtmTLlmxZss85AYUzJIe74+WSPD70SIErguDaIkF6CZA06CMtCgQoAlyRP4ogbf4pgrRoi14aJH+0aIuiAZqibxRtUCBpUaTfNyR3udJaUp3VIb2SsMfL4cw333zfb77H8OF3/kUYDXzhrOG2iw9bJAhYUNSjtvdG0XMfusVp123d9kLmOkJ8DA0Lw/PCfhKFTdcPhePzD8kqKdnEaZSWQ585jZfnhREW6M4bwpvC0LovnHkE5c1UT90Qxj3Xi2zis3DjhnCiezJPgnDBdcLmDeF4b+19Sls3hJNbK6ljbmn8OiV+D927TRZspYu1W+imlZzuRKbeNUkvs6/TIKQ+1M4L44Zr29TAeYbChXkQRCkRRIkLooSCKMWCuNJpCgIcN0lI70Q0omYoTMYijkJml65CPVw/ZNLA8BnvyOU8LwwzM/n1VNs1mcWoOeu77WXfuGa7OrHjUULhREZhoFybEhxwwvVZgznEXqBBQBo0FJ57FLsLrE2TVtBx/xvIJQDhbE97j/owd2A27nMvoD40Phb0cjOXsjwSkkYQChOZmS7TEHuEzaitO4TZc20Y8N7SfNJjNGShTZOTfZFvp3B7sQdu1PRdo1UEduA0pI5Bi9MkoLf1hyDruVPf+9WJL37nqWFBWPdSIAoDOmBNvfQI5KM0Niu9uw5gPgcT3OACe6ZHrkFI/CCW6TQQvMMFC7N+fttF1m+Y0TlhJGAfphw5HZBxWMy7fBWPubxz0IvAeZDjy4nGUOYHADyA9/asTwEKjsHoJkUuEO/ldWx5EAZ+FcRyFK8VcaQiH+nj3/nku28/9cw8xvC6CqxIwoTmuw2ugUIoP7PvPOZM4c/e2PZ5U1DNSed/1GscmghQNwK3ZXXHExVXqIPI+d+2j0j2//xE9yAY/YUIM8TcBQ1UdSmNKD0CdG2KXUleQX/vT0J4N3f+nfh4X9K8KoyfxwY0U4xBwWMmKDXE2AZYtuhMKpWBbMBUj7/BrRbVw6o+6aQzeZ0BiYKF/f7cD7aABIoOayQ7yg6XK+T4MMhvDHE1gcC4XSLgFQTJQKkjvBRYw6Kk75PtgrmOL6R7515hf/gHxunzCU4IML+9m1ESy5wtNjYCuFzwD4OcL5Cd6wi2jlnvjP2eYrVeuzqO8UM5xXvNh8+JGhm6+HT+5DMKwdAGYmfvr7n4bfYLdkUlEJkWoF09DMgiyVtYJeNY2CRlVJUi2TqnXV82A8MSsyvrASl5curO5ieX5FGNNtt9Gg/oow0Qzb9kwbbNISJSbWnMSTKcNwI0SIY7FGBPpaEX7MoWvBlGPe89CeB8uRjlZb50QC1nAij7f229h4IggB6DZdc30zAOu3IowHmQ4nkpNYn5HvAxpXhCcjBiTA7+pRSGNdB9eZaVJnRXgiYrM+A4e1yIwW9dPqYxG7SxrZunnhMICcrdLlyF9FyD67nS2PGwFE93E/kfUnc05IG9zST0IdSDQ22r4930igvKl+IXUAJ3vrF4FrCCX6d1pu96//oJ3UjyH+p931zRPJOLFF10v0BcweNkCEIAGu04TG6WzdPcdI9ZRcPm5Si0R2OBs5oCw38g0Qxfme0VrEaDKnFY+XaYfeFiYH00tN5gYSfQ7MPjUjg6Q+HSqOUBw9uGITlgw9CZ2TyixHYITHLK7rIGm1nwHPbZoQOsGcVRZy0sHMOhgyM+430XtpiRoUYJBeGmmT2AaNdp0Bnu4DzjyysUjsKdP0IRRIfbIHKEhbHPI6Ik79xBjMFpgMEvKHs4BPmhwFtwJxSOM6Q5u3kTISMi+eGJiCp7PLtoPNrmftrtpTV4WjJGZhmgBrBoU15dM2RX+yACcnuyezrt+GRRfC2BB+6cRo3fZhbad8HdDdhhtAdJcIdCyBx+Y4adNauRK34hjzKRcymi8kMoJRHAtAZBu3SDs19adjLc51dJJEWr1B3lHQr+0aoJ2O94h9M6/D+LFNMAhFcWD7MWjvWlZmOh6wi3JP6B5Lz5doQMGEmemA0HCjTbsqHPd8tspsWOUdjXkA6ibGVB15oW59Gka+0yPDUXRpnW7BBnDYTqbX4SsK0Asn4uhEDd2Q6vwuvD2oUfv7V7/09Q+sjXFnvw+mxOlzeqeADv57PMUJnrwY9saNfWBV7GLC4+7j7DYdkJlssHUIlE0cB9aWH5AY1iMIKogampApdPCwJao/bJE2sxnxMxg5COs+CJ1uxX7IYror9YBNeq4eaWNaQuxlAFSULtXxNlh+m2aJBJFlsfWt4TUsuWe2mWoC8T859dbxt//oY+8OI9jGaWIYaGqORmnGtu6zyPoWQI96TdfpMMNPOrYMFomRYCTGxC6RAKHnK5d/7xufuvnmV2IktIkXm5FHIkEOhcLOsy3OdCYIYOA0K7GFKsfxTCWhdWEXtOK5enH/lx6jP5eOlz04qQ/EgZGl/SEERl7vVIM0wuYhVWw33vzesQ/9ivT9fx4WRuaEA7CkmwYYAm7rwILGqB3i+HIaUdcmja0CvogTxmDxfgBHKAzfW4YCVCAIPfMqJKvt/E6rLTZXHgR0By0XMkYf/vSl9MJOlFIL5vXtvuOy7xq8hMDJXgLFHQn02Mf+XFzciUjWnHZIDGVJnNuRBFpf0Puxrt6vg45hjYyO/cVXv3bqQ9/cJwzPCuO2S8xZgsnnnHAwbALKm65trnuvvBpDB1ElDCcg2s4ZL8GAXRM4ut2uBaz/kYwt2uplRtExZC1AL54FSDmXZq7NLd+dWZq5+uDe8sxSVsxLWNzZXtnI7VZlbyKwnZA5Ac5mbBDurG8VNrimr1x96zO/8NtfrsSpy2HgfTKVbNKrDz52BFmvN8VlM5Y055RjIWH1hVLQYk5QMqQSw7g5KDUhTHzQiDYeBJFvmZFJC3aj+NBr7K5t28S2uyQctHdPeN3GttvsTHZD+C7IDkJGxNqe62Mahh7gPgubbhRi0BVAQotXVoT9oKXl5XkwXUl0mDo9SM5J6iFHmm4QbkFpnLPjyeHNUVQ3WnEAjscSjl+NOYY5gIyOohMsdmr6xiHjsqQoiippmgbJVUolnT/SSe17eRuM9Etniz3ZRH8rIu2WSJp9cCK3ttqG/rxj43aM8A9uxX5ypbyNge/LUpL5eP0NdGXH/n2SowGQSpOpJD44FlM8xAPZXl+cGWkViwiLH+1QPGFTZ5iu30e3J/rBUpKorZrEr3bevE8XtzRf/UVTCYb7C/bndWcZI/9PWhhx+7ZbLPDQg/4SzvS6M1OOY2nEPF8e2x4sz/MyPYuacys0qyp2t9zewApQdI8gvtEofBEJqe7ApGZYxLcVMlkf/GuO55BuD0ZJtRv0o1OMo1pc5Tmf7FtysAwBd9wV6WJMH4Oi5/dZAn6zKS4edCONAQuDWF9U8X4ejz0W33YGNrCxs9j8QksPrYLwuubVDHOJ8FJ9LUp53bWNPO4G31OJrIqVUxlu+3ErCU9i8WZsDdn2rLK+PLssZ0Ct51D3Qn2GkhhPRQWm2HoXSqVqFEuxn6zQNrkw0ANtyAST7pYkqpaVSmrtYpWlOTig+UrCyvx8eA1WdJUrV7WavUHsSd+Ztpt0jaE7+I1312ll8QrkR2Kty0RDHzgMZ8YG6Hwm8m4a2trxcyADa/kU5P5gOAibomeU2anluduXe6Of66swjwvrwXww8Zk4nLgyfDbmLt6uSyVq/jTaMOJrGIfbOXGG2CXS24JiZWyxKrK7HJmE3TOvCzdKt8tL60o07M3Z6bkK/Wr95fKoXBogbWoeJ04Ad7wGu+SCPxHqoVDefMtSViRB8zI72zJHcVtLcy20ptpj7xJtthtBQv3IEIsvMviAHeEr8bhdBhhQAdfVtnEjIhyNvipnjOhMtatvumqgznkycFW9HvujQ9VBcoJBkeOIas21RpyIJxbBJxSmf4E0QaOuKi5AMUH+ViswRF4ntilN26BbF/R56OL5kKbp9oYYUCpiTuhGgdgka63gogiKaOCAgUgcUzQjoxWIawS3eJFUdgibtGgRAQi+wg/oRdF1gCQykvRKuIt7XxQdN2bThcLnk4IpTUGbeGMPBvShMbVxM1S8dEFctCnkYqKOd6ovicQDriHoB6srGjbQ4DQt14fhbRP6EU4Wzn0CjL4AFXCJtF3LhsWG9WCZW9jY9YMLYkEEJ+ObIIKmSwM4JaLFKBBqRMykYujGDIovMEvccCOQDsgSkn/sqTPHNfAW8qbLRPQI87GFRx0+X6q7bosTnyWOswGaMFqlaSg8+Cu+AKO0KPWQgo/8WBbImPPmEJTgfZoIEVjhU+VCWAfzEVIQdbmgiE2UfVGcE20cCdqsEWgLhNsAEVRa2wWpWr7bFnEQpIS1Dd+NPOzWdD3KZ4DCx7td2LdBQ2gdcgRQ56Eba9UhIDHKK2PZgA6ggKVSRHVd5eYFw6lL8XjX14DFunRRpOsM6DlAeBFVsYBTWoLUNUYY5HGo9gCG03FQqaiIbcjsYFZ3IZEWfdZoJt2z6EMCF0Xc22VORDt9q3FfTjrsdmfYHSfhAQhQAIAgoA+IoR2cQlUgulanCZJwXBAADOkYHELpJYsCe+PZ1dpz0rcCjwWMqhCerzG6drFbD5EDA905jHTrtIpUUbqn9xwWUlPErUGY3i5GVWpFua5VMjUFuSwXa1J1vE9rPMBIairRTN2oF0yzoj/yjlzimqG1SlWZGNu1zjrcz2Px61h89n/nUMG7X+Nm34rsS6g2AJEpnheXQelNcZE6kKLCghSncaHcJyHezmmgnwQjeRWCe7QvidGE+DP1zQlB7iH5SVCakQqSJMPfsiyrdaVSqPTs0B341qWrCYu/ljuF3CnkTiF3Cu9/p2DW63VFlXbpFMy6ahBJ1nfrFL6IxTv/h53C5IV/8hIW02PPnMLkodHr8bMzWtWEP6pZsCAzS8SskFpBU/SyUdGpqptGxlNXLNMwFLJd66xSfgeLLz+GUnaf+mpqRZZqUr28NfWVFVmuQnCRpr4XFvHRLmYQG5NdvDMLFgVX5Qos+sKiCwtZnHGo33iMDLjDxiAy4Ayx3WbAk3ebbpsE4mxRfA1cskMxDe7Qea9RpdQtzaCSjjgxd0SVUjM0BRjdrnUWVb+Pxdf2FlVKuS4rWkXug6pyuaIpFU1KUDV9J0IHgy50hUdHGRzBPw3mUIphBoRNzDGYhx4EG8/6ECA9NtxS/gYCty6x3cLtyILrkw1xuijehKlxrKVE3musVaoarZY1Y2+w9k0svpFj7f811iZf+nyMNdOUpJopqYAezdoRa6ZRV6uSUd2udRZrf4XFX+4p1mpqTZPUcr3SF2tVtaKoSoK12xgKXYeYchPcLoninBPwRAYaXLFxJxTfPRDvuz7kOOBOpyBubvhklYUb4l1qNB3Iix4HeB1mBwG8DLHdAu/gLQaZ1BVIfhB0HQLvNehopa6XK9Yege4fsPi7HHQ56HpAp6sWUawq+EkFzB2HESFlWlBNUzYsTatbkvL4XvU/sPhu7lVzr8ojOLBYuqoTxFpt0Fgb4oD7QY61HGvcrtG6JElGGbFGBo61I1gcyrGWYw2xZkCyULNUHbFmDBxrT2Jx+ofEmpxj7f2BtXKtJlOtzn2oOXCsncPi2dyu5VjjCakpyYZat/YGazIWpRxrOda4DzU1o1qraYg1OnCsXcbi5RxrOdYQa5ZqGYpakRBr1sCxNofFtRxrOda4XauUa4ZC6oA1WRo41u5hsZznBjnWYrsGiagFodqeYI1g8SDHWo41vpdrGLUyVSuINXngWMPXCYdaOdZyrCHW6pZelstE2hus4dcPhtbyeC3HGn/yo1KT6pK5R1jDNySHPppjLccaYk2idYOqVdxfk8sDx9qnsHg796E51ngeKuuapJh4P1RWBo61z2Hxyz8k1pQca+8PrCmaokh1q4pYqwwca1/A4jdyu5ZjjecGWk0u05q+N1j7Eha/lWMtxxrfXzO0qiprZG+w9lUsfjfPDXKsIdZqFVOluor3Q+XqwLH2dSz+OMdajjW+l2uVTaVicKwN/rncP8fiz3Ks5ViL74fKlmJJPA+tDxxrf4vF3+RYy7HGfaglVyu1Co/XtIFj7d+w+NccaznW+PcVVIlaBq3sDdb+G4v/yrGWYy1+zkMDWOnynmBtGD8mOjyW73nkWEOsVXWpZpCqglgb+HtUwyexOJHbtRxrfC/X0OsWkay9wRp+vnf46dyu/WhiDQU/3v3Yc/zf0p3H0zNY8K9A8q9+8a9M8Y8C8a+18M9o8M8afBcLfP+Xv5jJ35jjrzLxd0z4w//8qWz+uCx/jpE/YMaf/OGPZPB75fwmJr+7xLf9+X4s3yjjOxg8teQxPw/GuJfk5ivG1XjP//AQ//99WGz0fq29e+Gnsh9efzpeDSe+vfR0/AZrRTapxp/mLA9+NfAXb8bz1fCjuRr+B3vy+Ba7dwAA" />
      <input type="hidden" name="If" value="F" />
      <input type="hidden" name="tagEventLoop" value="P1" />
      <input type="hidden" name="tagEventLoop" value="P1" />
      </div></response><response id="redirectDiv" type="element">

      <div id="redirectDiv">
      <div><a id="redirectLink" style="display:none" href="http://localhost:8080/app?page=ShellPage&service=external&sp=Sbump&sp=Sjkassis&sp=Soptions&sp=Sb41de90d-f32a-1029-aa2e-6dd1cf998f03">redirect link</a>
      <script>
      //<![CDATA[
      alert('hi');
      try {
      // If we can get read the host property of the location, it's our site!"
      var openerHost = self.opener.location.host;
      var redirectUrl = dojo.byId('redirectLink').href;
      var slashX1 = redirectUrl.indexOf('/');
      var slashX2 = redirectUrl.indexOf('/', slashX1 + 2);
      var redirectHost = redirectUrl.substring(slashX1 + 2, slashX2);
      if (openerHost == redirectHost)

      { self.opener.location = dojo.byId('redirectLink').href; }

      }
      catch (e) { }
      window.close();
      //]]>
      </script>
      </div>
      </div></response><response id="initializationscript" type="script"><script>
      //<![CDATA[
      dojo.require("tapestry.form");tapestry.form.focusField('title');
      //]]>
      </script></response><response id="statusDiv" type="element"><div id="statusDiv">

      1168564586250<label for="title">Title</label> <input type="text" name="title" value="Quest for Zero Point Energy Engineering Principles for Free Energy" id="title" tabindex="1" maxlength="100" size="50" /></div></response></ajax-response>

        Attachments

          Activity

            People

            • Assignee:
              jkuhnert Jesse Kuhnert
              Reporter:
              jkassis Jeremy F. Kassis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: