Solved

Urgent - window scroll / anchor jump in IE4.0x on Mac & PC

Posted on 2001-06-19
9
291 Views
Last Modified: 2012-06-27
I want to be able to jump half way down a long page when the user posts a form to the page.

I have this working in Netscape 4+ on Mac and PC using
  document.location='#step3'
in the onLoad function, but have not managed to get it working on IE4.0x

I was hoping to use some sort of anchor jump, rather than scrolling, but using document.location='#step3'  to jump does a GET to the page in IE4, rather than just scrolling the already loaded page, resulting in a fresh page, and the posted data being lost from the form I just posted to it.
Also, there are NO form input elements I can focus to (such as text, buttons etc) at the point I want to jump to, just an anchor and plain text. I don't want to add any stange visible elements such as buttons or text inputs.

I have tried the following:
-  document.location.hash='#step3'
-  document.location.hash='step3'
-  <form ... action="mypage.jsp#step3">
-  window.scrollBy(0,300)
-  document.anchors.step3.focus()
-  document.anchors.step3.blur()
-  step3.focus()
-  step3.blur()

None seem to  work in IE4.01 on the Mac... the closest I got was with step3.focus() but the window contents are all messed up.

The correct answer MUST work on IE4.01 on both the Mac and PC. Got Netscape covered :)

Awaiting with baited breath...
0
Comment
Question by:jjoz
  • 5
  • 3
9 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206397
Try
document.all('step3').scrollIntoView();
or
document.anchors('step3').scrollIntoView();
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206411
Either work in IE5.5 on Windows NT - I expect them to work on IE4 on windows and also on mac

MSDN says
Platform Version
Win16: 4.0
Win32: 4.0
WinCE: 4.0
Unix: 4.0
Mac: 4.0

http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/scrollIntoView.asp

0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206443
Here is the xbrowser code

<body onLoad="if (document.all)
document.all('step3').scrollIntoView();
else if (document.anchors &&
document.anchors['step3'] &&
document.anchors['step3'].x)
window.scrollTo(document.anchors['step3'].x,document.anchors['step3'].y) ">

and in case you can breathe again: http://www.google.com/search?sourceid=navclient&q=baited+bated
;-)

Michel

0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 1

Author Comment

by:jjoz
ID: 6208754
The xbrowser code does work on all 4+ browsers on the PC, but does not seem to work on IE4 OR IE5 on the Mac.

Any further ideas? Any Mac experts out there?
0
 
LVL 1

Author Comment

by:jjoz
ID: 6208803
Found this on <http://screenporch.com/sp/41/PATCH/>

Browser bug fix:  IE 4 and 5 for the Macintosh do not "scroll" properly to new responses in an item.  
IE uses "scrollIntoView()" to a <SPAN> to handle showing the 1st new response at the top of the page.  IE/Mac doesn't like it if the <SPAN> is empty.  For now, just adding a non-breaking space inside the <SPAN></SPAN> works, although it adds a little vertical white space.  A better solution will appear later.

Again, <SPAN> seems to work for IE5 on the Mac, but not IE4.01 on the Mac. I am beginning to suspect there is no solution for this problem for Mac IE4.01.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6209346
Try this:

<head>
<script>
agt = navigator.userAgent.toLowerCase();
Opera = (agt.indexOf('opera'))
IE = (document.all && !Opera)
IEMac = (IE && agt.indexOf('mac')!=-1);
NS = (navigator.appName=='Netscape')

function scrollIt(anc) {
   if (IEMac) anc +="mac"
   if (IE) document.all(anc).scrollIntoView();
   else if (document.anchors &&
      document.anchors[anc] &&
      document.anchors[anc].x)
     window.scrollTo(document.anchors['step3'].x,document.anchors['step3'].y)
}
</script>
</head>

<body onLoad="scrollIt()">


<SPAN ID="step3mac"><a name="step3"></a></SPAN>
0
 
LVL 1

Author Comment

by:jjoz
ID: 6226713
Nice attempt, I already implemented something like this, but as I mentioned, it does not work on Mac IE4.01. Apologies for not responding earlier, but the project in question has finished and I had to cut my losses. (shipped without anchor jumping on Mac).

Unfortunately this did not solve the problem, but thanks for trying. I will leave the question open as I am still interested to see an answer if anyone comes up with one.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6226787
You can also ask customer service to PAQ it

Michel
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 6427242
Points refunded, my comment accepted as answer to place in PAQ.

Thank you
Computer101
Community Support Moderator
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Diminish Pop-up  in 3 seconds 7 52
HTML Anchor Link Problem 3 39
How to filter by key press ? 6 25
Clear input text 15 9
I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question