English 中文(简体)
IE8 Crash on getStyle background-position
原标题:

I ve found a strange bug in Internet Explorer 8. Maybe someone can help me move around it.

When I try to grab the background position of an element, using background-position-x all versions of Internet Explorer work as excepted except for IE8 that crashes.

When I run el.getStyle( background-position ) all browsers give me the correct values except from IE (6, 7 and 8) that return undefined.

I therefore use el.getStyle( background-position-x ) for all IE versions.

IE8, however, crashes on the above code.

Anyone had similar problems?

最佳回答

Thanks for the help everyone. This really is a bug and works only on the following scenario.

  1. css must be loaded on an external stylesheet
  2. element has no inline styling

The way to fix it, even tough dirty, is to add inline styling to the element. Makes IE8 happy and all other browsers work.

I did not test but, according to this ticket, FF2 also suffers from the same behavior.

Side notes:
@marcgg - I was going to downvote your answer as it really is not helpful (and bound to start a flame war) but, all truth said, jQuery does not manifest this problem. Even though, as you probably already knew, it is NOT an option! ;)

@Fabien - IE does support background-position-x and lacks support for background-position the W3C approved construction.

问题回答

Why not use jquery s css function that works fine crossbrowser ?

Try using:

el.getStyle( backgroundPositionX )

and

el.getStyle( backgroundPositionX )

yes, older thread, but figured I d post another solution that I bumped into @ mootools lighthouse....

if (Browser.Engine.trident){
    var xy = el.getStyle( background-position-x )+" "+el.getStyle( background-position-y );
} else {
    var xy = el.getStyle("backgroundPosition");
}

works well for me so far.





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签