Gamespot User Profile [fixed]

This is where you should report issues arising from the subscription filters.
Locked
callmex
Guest

Gamespot User Profile [fixed]

Post by callmex »

Following filterstring from EasyElement

#*(mpu)

is blocking Gamespot User Profiles
http://www.gamespot.com/users/INSERT_USERNAME_HERE/


Thanks for listening
cmx
User avatar
rick752
Honorary Member
Honorary Member
Posts: 4508
Joined: Fri Dec 30, 2005 1:02 am
Location: New York, USA

Post by rick752 »

What am I supposed to be seeing on that page? ... it is just an error page. I see no userlist.

Is this something I need to be logged in for? You can just disable ABP or turn off the mpu filter if need be ... or give me the piece of the html code that contains this so I can look at it.
"Experience is something you don't get until just after you need it"
callmex
Guest

Post by callmex »

I'm sorry for that previous unclear post.

With the /INSERT_USERNAME_HERE/ I wanted to state, that this is occuring on all profiles, not just my own.
Login is not required.

Link with a valid username string:
http://www.gamespot.com/users/king_bobo/

With the filterstring
#*(mpu)
enabled, you'll see only the top and bottom navigation bars.

I've tried whitelisting it with
@@|http://www.gamespot.com/users/*
but it does not work. Honestly, I don't know if this string is correct at all.
User avatar
rick752
Honorary Member
Honorary Member
Posts: 4508
Joined: Fri Dec 30, 2005 1:02 am
Location: New York, USA

Post by rick752 »

Whitelisting doesn't work on element-hiding rules on Firefox 3 (they did on later versions of 2 but not earlier versions of 2 :roll: )

But I DID find out something new in element-hiding rules that I don't think others know. To make a long story short, the rules work the same, it is just better defined. It still blocks the same stuff that I intended but will not block that class because of the some oddity pertaining to the "multi-class" way it was written.

So update the EasyElement and see ... let me know if it is ok. Sees to be ok here.
:arrow: :arrow: :arrow:

Ya learn something new every day :mrgreen:
"Experience is something you don't get until just after you need it"
Guest
Guest

Post by Guest »

callmex wrote:I've tried whitelisting it with
@@|http://www.gamespot.com/users/*
but it does not work. Honestly, I don't know if this string is correct at all.
Wrong info here, actually it does work.
I've deleted, re-entered the string and reloaded page, now everything is fine for me, except the ads of course ;-)

rick752, maybe you could still have a look at the page.
I've looked at source and it seems like, this is the cause:
<div id="profile_layout" class="mini mpu has_nav">

There is another reference of mpu
<div class="ad_unit ad_unit_mpu">
and I suppose this one should be blocked.


PS: I've no clue about html or any other web related programming language, so this info may be entirely wrong.
callmex
Guest

Post by callmex »

My bad, I was to slow.
Will try it.

Thanks
callmex
Guest

Post by callmex »

whoooohoooo,
nicely done.

Thank you rick752
User avatar
rick752
Honorary Member
Honorary Member
Posts: 4508
Joined: Fri Dec 30, 2005 1:02 am
Location: New York, USA

Post by rick752 »

This is the oddity in ABP element-hiding syntaxes.

The element that you defined:

Code: Select all

<div class="ad_unit ad_unit_mpu">
... Is NOT the one causing the false-positive. That one is ok.

This one:

Code: Select all

<div id="profile_layout" class="mini mpu has_nav">
... is the problem.

You'll notice that the 'class' contains 3 separate classes in it ... mini, mpu, and has_nav. When class names are separated by a blank space, they are actually separate class names in the same element. So in effect the false-positive here is:
#div(class=mpu)

When you create an ABP element-hiding rule, you can elect not to define an id or a class ,,, in that case ABP will hide either one. It seems that:
#*(mpu) would actually 'pick out' the 'mpu' class from the other two and block the item ... but when the definer "class=" was added, it wouldn't (seems it needs the other 2 to work like that). And I could not find another instance of "mpu" anywhere else in the html code.

That is very interesting.

Anyway, I'm glad it works. :biggrin:
"Experience is something you don't get until just after you need it"
Ares2
Emeritus Contributor
Emeritus Contributor
Posts: 4572
Joined: Thu Sep 27, 2007 12:49 pm

Post by Ares2 »

rick752 wrote:That is very interesting.
It really is. :-?
If all three are separate classes, why doesn't class=mpu catch it?
If it's just one class, why does #*(mpu) catch it?
Somehow unlogical. :)

BTW: Now you have ##*(class=mpu) and ##*[id=mpu]. First one doesn't work beacause you need these [].

But it also doesn't make a difference if you use #*(class=mpu) and #*(id=mpu).
User avatar
rick752
Honorary Member
Honorary Member
Posts: 4508
Joined: Fri Dec 30, 2005 1:02 am
Location: New York, USA

Post by rick752 »

Ares2 wrote:BTW: Now you have ##*(class=mpu) and ##*[id=mpu]. First one doesn't work because you need these [].
Thanx Ares. I was try it with regular ##css rules first and thought that it was the css rule "type" that changed it. When I realized that it wasn't the case, I changed them to ABP rules. Unfortunately, I hacked up the rules that were in the subscription ... fixed now. I don't know what I would do without you double checking me :D
But it also doesn't make a difference if you use #*(class=mpu) and #*(id=mpu).
That's what I MEANT to add ... (see previous paragraph)
Funny hey, no problem on that site now.

Everything should be repaired now :arrow: :arrow: :arrow:
"Experience is something you don't get until just after you need it"
Ares2
Emeritus Contributor
Emeritus Contributor
Posts: 4572
Joined: Thu Sep 27, 2007 12:49 pm

Post by Ares2 »

rick752 wrote:I don't know what I would do without you double checking me :D
I'm always interested in the rules you use and why you use them, so consider it a nice side-effect. :biggrin:
Locked