Post Reply 
Flash at YouTube
Aug. 28, 2010, 03:23 AM (This post was last modified: Aug. 28, 2010 11:25 AM by sidki3003.)
Post: #1
Flash at YouTube
Topic split from http://www.cnn.com/TECH/

I don't know if this is just timing coincidence or if this change caused some new trouble, but now the toggle flash filter does not work for any videos on YouTube. I think I've see that some views on YouTube had this trouble earlier, but now I do not see the button on any video at all. Can anyone confirm this as well? Should I post this development in a new topic?

The toggle flash filter does work on other sites, such as http://www.adobe.com.
Add Thank You Quote this message in a reply
Aug. 28, 2010, 03:42 AM
Post: #2
RE: http://www.cnn.com/TECH/
Hmmm. Well now of course since I posted the above, I do see the filter working when I go to a person's profile page and playlists. But this is not working consistently across YouTube anymore.
Add Thank You Quote this message in a reply
Aug. 28, 2010, 11:22 AM
Post: #3
RE: Flash at YouTube
(Aug. 28, 2010 03:23 AM)wammie Wrote:  Should I post this development in a new topic?

Done
Add Thank You Quote this message in a reply
Aug. 28, 2010, 11:30 AM
Post: #4
RE: http://www.cnn.com/TECH/
(Aug. 28, 2010 03:42 AM)wammie Wrote:  I do see the filter working when I go to a person's profile page and playlists. But this is not working consistently across YouTube anymore.

I'm aware about this. The Flash toggle filter doesn't match on the movie sub-pages.
Increasing the byte limit to whopping 7680 would fix this for most browsers.
IE would require further changes which i didn't investigate.

However, i figured that most people who explicitly navigate to a movie sub-page want to see the movie and not the toggle.
This is just my opinion, so the issue is open to discussion.
Add Thank You Quote this message in a reply
Aug. 28, 2010, 01:31 PM
Post: #5
RE: Flash at YouTube
Thanks for the response! Personally, I would like it to work for every single video page. When I click a movie thumbnail, I'm not automatically going to watch the movie. I often want to read the description and viewer responses first. As you know, it's common for people to use misleading tactics with tricky titles and thumbnail images to attract viewers, where the movie itself is something that one wouldn't watch after reading the description and/or viewer comments.
Add Thank You Quote this message in a reply
Aug. 29, 2010, 01:23 PM
Post: #6
RE: Flash at YouTube
I agree that it would be more comfortable to have the Flash filter always matching. However, i have to weigh the pros and cons. From the coding perspective, we are dealing with a generic filter, which is supposed to work *quickly* and should be resistant to code changes.

Below are modified filters, the first one for the release config, the other for alpha4. They are just a proof of concept, and i'm not comfortable with them, due to the compromises solely implemented for YouTube.

Code:
[Patterns]
Name = "<object>...: Toggle Flash     10.08.29 (ccw! !nn) [jd sd] (o.2 l.2) POC-RL"
Active = FALSE
URL = "($TYPE(htm)|$TYPE(js)|$TYPE(vbs))(^$TST(keyword=*.(a_flash|a_code|i_level:1).*)|$TST(hOrigUA=mozilla/4.[1-9](^*opera)*))"
Limit = 10000
Match = "<(\" \+ \"o|\' \+ \'o|o)b(" \+ ')+j(" \+ ')+ect(\s|"|\\n|>)(("
        "(*<)\0(/embe(d)\4 >(^(^ </(^object)))|(" \+ ')+(\\+/)\4ob(" \+ ')+j(" \+ ')+ect[^>]+>)"
        "(^$TST(\0=*<object*))$SET(#=$SET(tObject=))"
        "&&*(s(hockwave|wf)|flash(.|_|vars)|d27cdb6e-|obj(Attrs|Str)|.push\(" >)*"
        ")|(*>&&*(s(hockwave|wf)|d27cdb6e-)*))"
        ""
        "|<(\" \+ \"e|\' \+ \'e|e)mbed(\s[^/]|"|\\n)(^$TST(tObject=1))"
        "(*>(^ [0-9=])&&*(s(hockwave|wf)|flash|embedAttrs|.push\(" /(^(^>)))(>|*[^-]>)(^?))"
        "((*<)\0(\\+/)\4embed >(^$TST(\0=*<(embe(d)\5|/script)*))|)(^$TST(\5=*)&$TST(script=*))"
        ""
        "&&(^$TST(comment=1)|$TST(tNoscript=1)|$TST(tNoframes=1)|*function\s[^()"'; ]+ \()*"
        "&$SET(2= style=\1)<(("
        "*>&&*width(=(\\+("|\&quot;)+{0,1})\1| : "+)( ([#*:*]%+)\8|")*"
        "&&*height(=\\+("|\&quot;)+| : "+)( ([#*:*]%+)\9|")*"
        ")|)"
        ""
        "&<((" \+ ')+ob(" \+ ')+j(" \+ ')+ect)\0"
        "("
        "$TST(\4=/(^$TST(script=[1s]*))|d$SET(4=/object></))$SET(7=span)$SET(#=\1><\0)(\#&$SET(#=</span>))"
        "|$SET(7=\0)(([^>]++\sstyle=\\+("|\&quot;)+{0,1})\2(([^"'\\&]++)\#display : [a-z-]+;+)+|$SET(#=\1))"
        "(\#))"
        "|<((" \+ ')+embed)\0$SET(7=span)$SET(#=\1><\0)(\#&$SET(#=</span>))"
        ""
        "&$SET(4=$TST(hOrigUA=*msie(^*opera)*)(function(a,b){"
        "while(b.firstChild&&!b.Movie&&!b.SRC&&!b.src)b=b.firstChild;"
        "while(b.nextSibling&&!b.Movie&&!b.SRC&&!b.src)b=b.nextSibling;"
        "b.rmov=b.Movie||b.SRC||b.src;"
        "if(b.ReadyState!=4)b.Movie?b.Movie=a.alt:b.SRC?b.SRC=a.alt:b.src=a.alt;"
        "})(this,this.parentNode.nextSibling);)"
        "($TST(script=1*)(*</script)+{1,*}(^*<script)$SET(script=)|)$SET(3=$TST(script=[1s]*)JS)"
        "("
        "$TST(script=*)($TST(\1=\")$SET(1=\\x22)|$TST(\1=\')$SET(1=\\x27))"
        "|(^$TST(script=*))(^$TST(\1="))$SET(1=")"
        "|)"
        "($TST(displayM=none)$SET(5=inline)|$SET(5=none))"
        "($TST(tAnc=1*|j)$SET(tAnc=)$SET(6=</a>)|$TST(script=*)$SET(6=<a></a>)|)"
        "($TST(volat=*.log:2*)$ADDLST(Log-Main,[$DTM(d T)]\tWEB Flash\t\0 \3 \t\u)|)"
Replace = "\6<span class=\1ProxFlash&#x20;ProxToggle\1 style=\1display:\5\1>"
          "<img class=\1ProxBcn-Img\1 alt=\1about:blank\1 src=\1http://local.ptron/killed.gif\1"
          " onload=\1prxO.oiFlash=!prxO.oiFlash?1:++prxO.oiFlash;\4prxO.oInt.inGetFlash(this);\1 />"
          "<a class=\1ProxToggle&#x20;ProxTogO-A\1 href=\1javascript://\1"
          " onclick=\1prxO.oInt.inToggleD(this.parentNode,true);prxO.oInt.inStopEv(event);\1"
          " title=\1\0&#160;\3&#160;\8x\9\1 target=\1_self\1>Toggle</a>"
          "<a class=\1ProxToggle&#x20;ProxTogO-A\1 href=\1about:blank\1"
          " title=\1Direct&#160;Link\1 target=\1_top\1>Flash</a>"
          " </span><\7 class=\1ProxFlash\1\2display:$GET(displayM)\;\@"

Code:
[Patterns]
Name = "<object>...: Toggle Flash     10.08.28 (ccw! !nn) [jd sd] (o.2 l.2) POC-A4"
Active = FALSE
URL = "($TST(hCT=*html)|$TYPE(js)|$TYPE(vbs))(^$TST(keyword=*.(a_flash|a_code|i_level:1).*)|$TST(hOrigUA=mozilla/4.[1-9](^*opera)*))"
Limit = 10000
Match = "<(\" \+ \"o|\' \+ \'o|o)b(" \+ ')+j(" \+ ')+ect(\s|"|\\n|>)(("
        "(*<)\0("
        "/embe(d)\4 >(^(^ </(^object)))|(" \+ ')+(\\+/)\4(" \+ ')+ob(" \+ ')+j(" \+ ')+ec(" \+ ')+t(*>)+{1}"
        ")"
        "(^$TST(\0=*<object*))$SET(#=$SET(tObject=))"
        "&&*(s(hockwave|wf)|flash(.|_|id|vars)|d27cdb6e-|obj(Attrs|Str)|.push\(" >)*"
        ")|(*>&&*(s(hockwave|wf)|d27cdb6e-)*))"
        ""
        "|<(\" \+ \"e|\' \+ \'e|e)mbed(\s[^/]|"|\\n)(^$TST(tObject=1))"
        "(*>(^ [0-9=])&&*(s(hockwave|wf)|flash|embedAttrs|.push\(" /(^(^>)))(>|*[^-]>)(^?))"
        "((*<)\0(\\+/)\4embed >(^$TST(\0=*<(objec(t)\5|embe(d)\5|/script)*))|)(^$TST(\5=d)&$TST(script=*))"
        ""
        "&&(^$TST(comment=1)|$TST(tNoscript=1)|$TST(tNoframes=1)|*function\s[^()"'; ]+ \()*"
        "&$SET(2= style=\1)<(*>&&("
        "*width(=(\\+("|\&quot;)+{0,1})\1| : "+)( ([#*:*]%+)\8|")*"
        "&&*height(=\\+("|\&quot;)+| : "+)( ([#*:*]%+)\9|")*"
        ")|*&&(*\s(classid|data|id|type)=(\\+("|\&quot;))\1)+{0,1}*)"
        ""
        "&<((" \+ ')+ob(" \+ ')+j(" \+ ')+ect)\0"
        "("
        "$TST(\4=/|d$SET(4=/object></))$SET(7=span)$SET(#=\1><\0)(\#&$SET(#=</span>))"
        "|$SET(7=\0)(("
        "([^>]++\sstyle=)\4$AVQ(\\+("|\&quot;)+{0,1}(\#display : [a-z-]+;+)+\#)"
        "&&($TST(\4)\\+("|\&quot;)+{0,1})\2*"
        ")|$SET(#=\1))(\#)"
        ")"
        "|<((" \+ ')+embed)\0$SET(7=span)$SET(#=\1><\0)(\#&$SET(#=</span>))"
        ""
        "&$SET(4=$TST(hOrigUA=*msie(^*opera)*)(function(a,b){"
        "while(b.firstChild&&!b.Movie&&!b.SRC&&!b.src)b=b.firstChild;"
        "while(b.nextSibling&&!b.Movie&&!b.SRC&&!b.src)b=b.nextSibling;"
        "b.rmov=b.Movie||b.SRC||b.src;"
        "if(b.ReadyState!=4)b.Movie?b.Movie=a.alt:b.SRC?b.SRC=a.alt:b.src=a.alt;"
        "})(this,this.parentNode.nextSibling);)"
        ""
        "($TST(script=1*)(*</script)+{1,*}(^*<script)$SET(script=)"
        "|$TST(script=*)($TST(\1=\")$SET(1=\\x22)|$TST(\1=\')$SET(1=\\x27))"
        "|(^$TST(script=*))(^$TST(\1=*))$SET(1=")"
        "|)$SET(3=$TST(script=[1s]*)JS)"
        "($TST(displayM=none)$SET(5=inline)|$SET(5=none))"
        "($TST(tAnc=1*|j)$SET(tAnc=)$SET(6=</a>)|$TST(script=*)$SET(6=<a></a>)|)"
        "($TST(volat=*.log:2*)$ADDLST(Log-Main,[$DTM(d T)]\tWEB Flash\t\0 \3 \t\u)|)"
Replace = "\6<span class=\1Pr0xFlash&#x20;Pr0xToggle\1 style=\1display:\5\1>"
          "<img class=\1Pr0xBcn-Img\1 alt=\1about:blank\1 src=\1http://local.ptron/killed.gif\1"
          " onload=\1prxO.oiFlash=!prxO.oiFlash?1:++prxO.oiFlash;\4prxO.oInt.inGetFlash(this);\1$GET(mType)>"
          "<a class=\1Pr0xToggle&#x20;Pr0xTogO-A\1 href=\1javascript://\1"
          " onclick=\1prxO.oInt.inToggleD(this.parentNode,true);prxO.oInt.inStopEv(event);\1"
          " title=\1\0&#160;\3&#160;\8x\9\1 target=\1_self\1>Toggle</a>"
          "<a class=\1Pr0xToggle&#x20;Pr0xTogO-A\1 href=\1about:blank\1"
          " title=\1Direct&#160;Link\1 target=\1_top\1>Flash</a>"
          " </span><\7 class=\1Pr0xFlash\1\2display:$GET(displayM)\;\@"

The best idea is probably that someone writes a site-specific filter (which might need to be updated regularly).
If i understood the code correctly:
- The object/embed tags for standard compliant browsers are in the inline script.

- The fallback code currently is in http://s.ytimg.com/yt/jsbin/www-core-vfl186132.js
-> object code for IE 6/7/8
-> embed code for other browsers

Test link: http://www.youtube.com/watch?v=zlfKdbWwruY
Add Thank You Quote this message in a reply
Aug. 29, 2010, 05:33 PM
Post: #7
RE: Flash at YouTube
(Aug. 29, 2010 01:23 PM)sidki3003 Wrote:  The best idea is probably that someone writes a site-specific filter (which might need to be updated regularly).
If i understood the code correctly:
- The object/embed tags for standard compliant browsers are in the inline script.

- The fallback code currently is in http://s.ytimg.com/yt/jsbin/www-core-vfl186132.js
-> object code for IE 6/7/8
-> embed code for other browsers

Test link: http://www.youtube.com/watch?v=zlfKdbWwruY
Yah, probably it would be best to have a YouTube-specific filter. I tried the first block of code on the test link and it didn't work.
Add Thank You Quote this message in a reply
Aug. 29, 2010, 06:22 PM
Post: #8
RE: Flash at YouTube
the second block worked for me in the alpha4...
this is definitely my preference (to toggle ALWAYS)...
Add Thank You Quote this message in a reply
Aug. 29, 2010, 10:28 PM (This post was last modified: Aug. 29, 2010 10:40 PM by JJoe.)
Post: #9
RE: Flash at YouTube
(Aug. 29, 2010 05:33 PM)wammie Wrote:  I tried the first block of code on the test link and it didn't work.

Worked for me.

Did you enable the new filter, disable the old filter, and click "OK" in the Web Page Filter dialog?
Are you using the set's "minimal mode"?

Which browser are you using?

HTH
Add Thank You Quote this message in a reply
Aug. 30, 2010, 11:41 AM (This post was last modified: Aug. 30, 2010 11:42 AM by Toppy.)
Post: #10
RE: Flash at YouTube
First, Sorry if this reply sounds like a thread hijack, it's not my intention.
It's for people who want to allow flash by default in Proxo (a_flash.) on youtube, so that Flash appears automatically but make sure it does not start to buffer or play.

If you're using Firefox v3.x with Greasemonkey, there's a great little script that allows you to keep Flash enabled on Youtube, but stops the autobuffering and autoplaying of video's, it's called "YousableTubeFix", I use it for quite some time, and not having to fiddle with Sidki's great flash filters.Wink
Currently is does not work on the Channel pages, but that we can live without.
You can also easily download the video's you want, in the format you want.

YousableTubeFix : http://userscripts.org/scripts/show/13333
Add Thank You Quote this message in a reply
Sep. 01, 2010, 02:40 AM
Post: #11
RE: Flash at YouTube
(Aug. 29, 2010 10:28 PM)JJoe Wrote:  
(Aug. 29, 2010 05:33 PM)wammie Wrote:  I tried the first block of code on the test link and it didn't work.

Worked for me.

Did you enable the new filter, disable the old filter, and click "OK" in the Web Page Filter dialog?
Are you using the set's "minimal mode"?

Which browser are you using?

HTH
I took the configuration file I was using and saved as backup. I replaced the entire code of the toggle flash filter with the new code and saved the file. I then reloaded the configuration file using the Proxomitron dialog. I am using the Light mode. I tried this with IE, Opera, and Firefox and the new code did not work with any of the browsers. It also did not work with any of the browsers after switching to other modes.
Add Thank You Quote this message in a reply
Sep. 23, 2010, 07:29 PM
Post: #12
RE: Flash at YouTube
This is still bugging me. Banging Head . Can anyone attempt to create a YouTube-specific flash filter that works for all of YouTube?
Add Thank You Quote this message in a reply
Sep. 23, 2010, 07:32 PM
Post: #13
RE: Flash at YouTube
i just hit several YT vid's and everything worked for me...

may we have a few links where things aren't working for you?
Add Thank You Quote this message in a reply
Sep. 29, 2010, 02:28 AM
Post: #14
RE: Flash at YouTube
(Sep. 23, 2010 07:32 PM)ProxRocks Wrote:  i just hit several YT vid's and everything worked for me...

may we have a few links where things aren't working for you?
http://youtube.com. If I click any video thumbnail on the main page, the video will play immediately when the page loads and will not have the toggle/flash control.

I'm also finding that the toggle/flash control isn't working for Hulu videos.
Add Thank You Quote this message in a reply
Sep. 29, 2010, 02:39 AM
Post: #15
RE: Flash at YouTube
I'm going to try out the new Sept. 19, 2010 beta config now and see how well that works for YouTube and Hulu...
Add Thank You Quote this message in a reply
Post Reply 


Forum Jump: