Skip to main content

Bug Tracker

Side navigation

#3522 closed bug (wontfix)

Opened October 26, 2008 09:53AM UTC

Closed October 27, 2008 01:18PM UTC

A textarea cannot be made resizable in framesets

Reported by: qswitch Owned by: flesler
Priority: minor Milestone: 1.3
Component: plugin Version: 1.2.6
Keywords: Cc: qswitch, flesler
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 "-W3CDTD XHTML 1.0 FramesetEN" "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 "-W3CDTD HTML 4.01 TransitionalEN" "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 "-W3CDTD XHTML 1.0 TransitionalEN" "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>

Attachments (3)
  • frame_left.html (0.8 KB) - added by qswitch October 27, 2008 11:35AM UTC.

    frame_left.html

  • frame_right.html (0.5 KB) - added by qswitch October 27, 2008 11:34AM UTC.

    frame_right.html :

  • frameset.html (0.5 KB) - added by qswitch October 27, 2008 11:34AM UTC.

    frameset.html

Change History (4)

Changed October 26, 2008 02:56PM UTC by flesler comment:1

resolution: → invalid
status: newclosed

Please repost this to the UI Bug Tracker.

I suggest you attach functional html files, instead of pasting the html code in here. That makes it easier for us to try it.

Changed October 27, 2008 11:33AM UTC by qswitch comment:2

resolution: invalid
status: closedreopened

Changed October 27, 2008 12:29PM UTC by flesler comment:3

cc: → qswitch, flesler
component: unfilledplugin
priority: blockerminor

Why are you reopening it ?

Changed October 27, 2008 01:18PM UTC by scott.gonzal comment:4

resolution: → wontfix
status: reopenedclosed

jQuery is not guaranteed to work cross-window or cross-frame. Certain methods require the window or document that jQuery lives in to be the same as the window or document that the elements being modified live in. The best way to accomplish what you want is to move the code related to the second frame into the second frame.