• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 315
  • Last Modified:

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

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
jjoz
Asked:
jjoz
  • 5
  • 3
1 Solution
 
Michel PlungjanIT ExpertCommented:
Try
document.all('step3').scrollIntoView();
or
document.anchors('step3').scrollIntoView();
0
 
Michel PlungjanIT ExpertCommented:
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
 
Michel PlungjanIT ExpertCommented:
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
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
jjozAuthor Commented:
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
 
jjozAuthor Commented:
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
 
Michel PlungjanIT ExpertCommented:
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
 
jjozAuthor Commented:
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
 
Michel PlungjanIT ExpertCommented:
You can also ask customer service to PAQ it

Michel
0
 
Computer101Commented:
Points refunded, my comment accepted as answer to place in PAQ.

Thank you
Computer101
Community Support Moderator
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now