Closed Bug 460798 Opened 16 years ago Closed 13 years ago

kleinmachnow.de: Javascript for menu entry does not open page

Categories

(Tech Evangelism Graveyard :: German, defect)

defect
Not set
major

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: tessarakt, Assigned: tessarakt)

References

()

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.0.3) Gecko/2008092813 Gentoo Firefox/3.0.3
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.0.3) Gecko/2008092813 Gentoo Firefox/3.0.3

...

Reproducible: Always

Steps to Reproduce:
1. Go to page.
2. Click on "Gemeinde" on the left
3. Click on "Gemeindevertr." on the left
Actual Results:  
Nothing happens.

Javascript console says:

uncaught exception: Access to property denied (NS_ERROR_DOM_PROP_ACCESS_DENIED)
[Break on this error] parent.inhalt.location.href = url;

Expected Results:  
The corresponding page should be displayed in the right frame.

It worked some months ago ...

Did they change something or did FF3 break it?
Btw, Konqueror works ok ...
Jens, did this work in previous versions of Firefox 3, or was this something that only broke in the Firefox 2 -> Firefox 3 transition?

If so, I highly suspect that error you're seeing is because a behaviour was changed in Firefox that the site hasn't accounted for. See bug 442738, for example.

The good news is that this was filed in the right place, and that TE is exactly where you should bring these sorts of problems. You should tell the site administrators that their site is broken (due to their reliance on a security hole). If they need help figuring out how to fix it, we're happy to assist.
OS: Linux → All
Hardware: PC → All
OK, I wrote them a mail via their contact form - so far, no-one replied ...
Jens, keep us posted.

http://www.mozilla.org/projects/tech-evangelism/site/procedures.html#contacting

may also be useful if you want to poke them again in a few weeks.
Assignee: german → jens
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
"ANPASSEN: Hier bitte eine technische Beschreibung der aufgetretenen Probleme anführen und wie sie gelöst werden könnten."

Does someone have an actual fix? Sorry, I don't think I know enough Javascript ...
Anything specific on WHAT they should fix and how?

Further, can someone else confirm that it works on Firefox on Windows? Why does it work there?
Ping?
Jesse, can you help out here? I don't know exactly what needs to be fixed, and I certainly don't know enough German to understand comment 5 ;)

cl
This does not appear to be a bug in FF3. See below for fix that website owner must apply to their website.

AFFECTED BROWSER VERSIONS:
Problem does NOT occur with FF 2.0.0.20 OSX.
Problem DOES occur with FF 3.0.14 OSX, FF 3.5.3 OSX, FF 3.7a1pre OSX.

SPECIFIC ERROR RECEIVED:
Error: uncaught exception: [Exception... "Access to property denied"  code: "1010" nsresult: "0x805303f2 (NS_ERROR_DOM_PROP_ACCESS_DENIED)"  location: "http://www.kleinmachnow.de/cgi-bin/wNavigation.cgi?navmode=o4&navconfig=wNavDesignVP.xml&navtpl=wNavDesignVPLeft.html&id=2 Line: 28"]

REASON FOR THIS ERROR:
FF3 is not allowing the JS in one frame to call a JS function in another frame. Webmaster needs to move the JS function to the parent of the frames (ie: /index.html) and specify parent.functionName() when calling the function from a child frame.

INSTRUCTIONS:
1. Add JS function "showNavpoint()" to parent page where framesets are defined (view source of page http://jrklein.com/sandbox/kleinmachnow.de/index.html).
2. Change all calls to JS function from "javascript:showNavpoint" to "javascript:parent.showNavpoint".
3. Remove JS function "showNavpoint()" from ALL other pages to avoid conflicts (function found in "/wDesignVP/system/start.shtml" and "/cgi-bin/wNavigation.cgi").

WORKING DEMONSTRATION:
http://jrklein.com/sandbox/kleinmachnow.de/

When I browse to the website above, I can confirm that navigation (as per "Steps to Reproduce:" in original bug description) is working properly in all available browser versions.
jrklein, thanks for the analysis.  What exactly is Firefox 3 not allowing that Firefox 2 allowed?  Can you attach a simple testcase showing that difference, so we can determine for sure whether the change was intentional?
EVANGELISM BUG UPDATE

Jesse, I'm not sure that I have access to attach a testcase file within Bugzilla.  I'll prepare a simple testcase for you, but may need to link to the testcase at a personal URL.

As per Chris Lawson request, I'm checking bug status within additional browsers.  I've confirmed my proposed fix IS working within each browser listed below.

Bug in original description DOES occur in these browsers (ie: broken):
FF: 3.0.14/OSX, 3.5.3/OSX, 3.7a1pre/OSX, 3.0.14/WIN, 3.5.3/WIN, 3.0.14/LIN
SM: 2.0b2/OSX, 2.0b2/WIN
CM: 2.0b4/OSX

Bug in original description DOES NOT occur in these browsers (ie: working):
FF: 1.5.0.12/OSX, 2.0.0.20/OSX, 1.5.0.12/WIN, 2.0.0.20/WIN
SM: 1.1.18/OSX, 1.1.18/WIN
CM: 1.6.10/OSX

FF=FireFox, SM=SeaMonkey, CM=Camino, OSX=10.5.8, WIN=WinXP SP3, LIN=Ubuntu 9.04
EVANGELISM BUG UPDATE

Jesse - Building testcase files was humbling.  I was confused when their website was working fine in a FF3 browser this morning.  I realized that the JS is working when you browse to URL(http://www.kleinmachnow.de/) but not working when you browse to the short-hand URL (http://kleinmachnow.de/).  The short-hand URL is a different domain as far as JS is concerned.

Here is my broken testcase.  The first URL DOES work in all browsers tested, the second URL DOES NOT work in the FF3/SM2/CM2 browsers as tested in my previous comment.
http://www.jrklein.com/sandbox/kleinmachnow.de/testcase-broken/
http://jrklein.com/sandbox/kleinmachnow.de/testcase-broken/

Here is my working/fixed testcase.  Both URLs work properly in all browsers tested.
http://www.jrklein.com/sandbox/kleinmachnow.de/testcase-working/
http://jrklein.com/sandbox/kleinmachnow.de/testcase-working/

Steps to Reproduce:
1. Browse to URL.
2. Click on "Gemeinde" in navigation menu on the left
3. Click on "Gemeindevertr." in navigation menu on the left
Actual Results:
Clicking "Gemeindevertr." should cause page in content frame to change, but does not in FF3/SM2/CM2.


My original diagnosis was incorrect, though the problem does still seem to be caused by JS security changes in FF2/SM2/CM2.  Compare the JS:showNavpoint() function in the navigation frame of the broken testcase vs working testcase.  I modified the URL that the JS function was trying to specify for "parent.navi.location.href" in the working testcase.  The broken testcase was trying to specify a full URL (http://domain.com/file.html), whereas the working testcase was modified to specify an absolute path (/file.html) to prevent JS trust-related problems across domains.

I also left a JS function in the initial content HMTL (see source of "inhalt-1.html"), though used window.alert() in each JS function to confirm this function is not actually used by the browser.

The webmaster for "kleinmachnow.de" can fix this navigation issue by updating the JS:showNavpoint() function in their navigation window to use an absolute path rather than a full URL.

EXISTING LINE OF JAVASCRIPT CODE:
  parent.navi.location.href = 'http://www.kleinmachnow.de/cgi-bin/wNavigation.cgi?navmode=o4&navconfig=wNavDesignVP.xml&navtpl=wNavDesignVPLeft.html&id=' + id;

EXAMPLE/SUGGESTED LINE OF JAVASCRIPT CODE:
  parent.navi.location.href = '/cgi-bin/wNavigation.cgi?navmode=o4&navconfig=wNavDesignVP.xml&navtpl=wNavDesignVPLeft.html&id=' + id;


Please reply if I can provide any other info/assistance with this bug.

-jrk
Ooooh!  This site is broken due to frame navigation policy changes (bug 408052).  The navigation frame moves itself to a different hostname and becomes unable to navigate its sibling.  So yes, the change was intentional.

The site is broken in the same way in Safari, which by the way has clearer error messages for disallowed frame navigation.
Blocks: 408052
Thanks for digging into this, jrklein.  We should contact the site owners again now that we've figured out more about what's happening and how the site can be fixed.
INCOMPLETE due to lack of activity since the end of 2009.

If someone is willing to investigate the issues raised in this bug to determine whether they still exist, *and* work with the site in question to fix any existing issues, please feel free to re-open and assign to yourself.

Sorry for the bugspam; filter on "NO MORE PRE-2010 TE BUGS" to remove.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → INCOMPLETE
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.