#3487 closed bug (notabug)
ui.resizable does not work correctly in pages within framesets
Reported by: | qswitch | Owned by: | eduardo |
---|---|---|---|
Priority: | blocker | Milestone: | |
Component: | ui.resizable | Version: | 1.6rc2 |
Keywords: | resizabletextarea frameset | Cc: | |
Blocked by: | Blocking: |
Description
A textarea cannot be made resizable as expected when its page is part of a frameset and the jQuery-based JS code is run from within
a different page contained in the same frameset.
Any known way of addressing the textarea outside of the current page fails in so far as it leads to the same unexpected behavior.
Behavior observed in IE7: No reaction of the addressed textarea at all,not even cursor change.
Behavior observed in FF3.0.3, Opera 9.60, Safari 3.1.2: Cursor changes to "resizing" when mouse is over the actual textarea
(within its very page). Textarea will resize only if mouse is moved anywhere (!) within the page containing the JS code,
which in fact is the other page of the frameset. As it seems, jQuery does not handle addressing of frame objects correctly.
Most probably even other functions apart from resizable are affected.
frameset:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> </head> <frameset cols="290,*"> <frame name="leftFrame" src="frame_left.html" /> <frame name="rightFrame" src="frame_right.html" /> </frameset> </html>
first frame (frame_left.html):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Test</title> <script type="text/javascript" src="jquery-1.2.6.js"></script> <script type="text/javascript" src="ui.core.js"></script> <script type="text/javascript" src="ui.resizable.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#resizebleTextarea",parent.frames[1].document.body).resizable({handles: "all"}); }); </script> </head> <body> </body> </html>
second frame (frame_right.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> </head> <body> <textarea id="resizebleTextarea"></textarea> </body> </html>
As you've said, this is a problem with jQuery core, not jQuery UI. Feel free to create a ticket in core's bug tracker to have the underlying problem fixed.