We are not hosting content on seperate domains and so the cross-domain policy
does not come in to play, it is a simple SWF embeded in a HTML page that
contains JavaScript functions. We have "allowScriptAccess" set to "always" and
have updated our security setting to allow the content to run (we have built
several of these apps before) but since the release of r115 it's cactus.
Since there is not an issue of cross-domain policies I am guessing this is a
bug that will fixed soon by Adobe...please. Anybody else had this issue???
I'm having to delay the delivery of this project to my (very) large client
because of this. I hope this is not because of the overlap of AS 2 code with AS
3 security...
Adobe? Hay-ulp?
1. I had an existing CS3 created Flash AS2 SWF that I posted to test the live
use of getURL when this first came out. (Live is no problem. Only local testing
is a problem). A button makes this call:
getURL("javascript:fireFunction();");
The corresponding function in the HTML then does this:
function fireFunction(){
//fire an alert for in-browser testing
alert("function fired!");
// launch a new window
window.open('http://www.adobe.com','win','height=200,width=300,toolbar=no,scroll
bars=yes');
}
2. For testing this on my XP box I added the following path to trusted
locations in the Settings Manager:
C:\Inetpub\wwwroot\escalations\cs3_getURL
3. These are the results of my testing:
Windows XP:
FireFox 2 tested from URL:
C:\Inetpub\wwwroot\escalations\cs3_getURL\getURL_AS2.html
-- no problem after adding trust file. Both alert and new window
open.
FireFox 2 tested from
http:\\localhost\escalations\cs3_getURL\getURL_AS2.html
-- no problem after adding trust file. Both alert and new
window open.
IE6
--no problem after adding trust file. Both alert and new window
open.
Mac OSX 10.4 FireFox 2.0.0.11
-- no problem
Mac OSX 10.4 Safari 2.0.4
-- no problem
IE7 is another story though, and this local getURL issue appears to be IE7
only. Nothing happens when clicking the button. No security errors are
noticed. But no javascript fires.
I'm going to escalate to Engineering and see what happens. In the meantime (in
theory) you can use externalInterface to make these calls. I haven't tested
this yet though.
Since the project is running locally and all files are on the same domain it
makes sense that the project wouldn't suffer from increased security. I also
tried adding the filepath of the project in the trusted locations, but this did
not work either.
The only workaround that will currently work is recoding with
externalInterface.
Thanks
So my only solution to this is recoding all my apps ?
Is the correct solution is changing all the getURL for the
externalInterface.call function?
I hope not, but I do not know yet. Engineering is actively testing. It's
definitely something we introduced in some changes made in Flash Player
9.0.115.0. Just not sure what their verdict is at this point.
So your choice is wait to see what they say, or recode for externalInterface
if possible.
Sofax222, the registry key thing makes no sense to me. And doesn't seem to
work very well. So I'd avoid that. It's our bug, we'll deal with it.
Converting to externalInterface requires rewriting your code and republish the
content. The externalInterface API is here:
http://livedocs.adobe.com/flash/9.0/main/00000340.html
this.onPress = function(){
ExternalInterface.call("popUp", "C:/...filepath to html page on
computer", "windowName");
}
Obviously, "popUp" is the name of the javascript funtion (which is written in
the html page embedding this swf AND in the source js file), "C:/... filepath"
is the filepath parameter to be passed, and "windowName" is the window name
parameter being passed.
The basic javascript function is this:
var winn = null;
function popUp(filePath,windowName){
winn = window.open(filePath, windowName)
}
What am I doing wrong? Neither the getURL or ExternalInterface.call methods
will work to call javascript, and I've got clients calling in to tell me our
software has stopped working. Am I passing the string parameters the wrong way?
In an earlier thread it was suggested, "both methods (HTA and
FlashPlayerTrust) appear to have stopped working."
That's affirmative. HTA doesn't work either. HTA is not necessarily IE7.
I haven't tested HTA with IE6 installed. Most likely it is not affected, I
reckon. Would it help if I tested it?
The earlier thread also said, "Keep up the good work!" I second that.
As previously reported the I am experiencing the problem with Flash Player 9
r115 & IE6 sp2 and getURL when trying to execute Javascript on a local file
system.I have discovered the problem exists when running content within a
frameset. All files are running in the same folder on the same drive but getURL
does fail when the page that the flash file is on is run within a frameset. To
see the conclusive evidence download this simple flash file.
www.omniap.com/downloads/geturl-flash9r115-240108.zip (9kb)
As you can see with this example the flash file calls a javascript function
which simply alerts some text to the screen. When run outside of the frameset
this works fine, however when the page is included as a frame in a frameset,
the getURL fails. This is the case on local files systems only and works fine
online. Please Adobe, fix this.
This is killing us...
The problem - at least from a Flash Developer or End-User perspective - has
nothing to do with files being trusted (or not trusted), or the
AllowScriptAccess parameter.
Ultimately, the solution will have to come from Adobe with a patch / fix / new
player release. For me, the developer, the immediate solution is to either
simply not use the v9.0.115.0 release and wait for the updated release that
will resolve the issue, or play the content from my local web server (IIS,
Apache, etc.)
Since we have control over my end-users Flash Player version, and in any case
they will not view the content locally (It's only my team and I who are
affected.), I choose to rollback to v9.0.47.0 and wait for Adobe.
Adobe, please place a high priority on this issue.
No idea when or if Adobe is going to come out with an update to fix their
update. But Camtasia provided me with a downloadable utility fo fix the .swf
files it's called "SWFMP3FIX" but I have over 500 videos and can't possibly
take the time to fix what was never broken until Adobe's new Flash Player
wreaked havoc on my world! This is very frustrating!
The problem occurs in a normal browser window without frames in IE7, eg.
viewed in a normal window messages sent to the status bar triggered in Flash.
I agree with CBT Developer, getURL() is broken in spite of and not because of
trusted folders. It would suit me fine however if Adobe decided to drop
FlashPlayerTrust in the next Flash release and that happened to fix the current
getURL() issue. FlashPlayerTrust was introduced in Flash 8 to make it more
secure locally, not impossible, to execute JavaScript from Flash.
The latest version of Adobe Reader also has a problem with local trusted
content. I requested the feature, since the prompts to open files are getting
on my nerves. Still waiting to hear from Adobe.
Do you have any update from the developers on the time that will take them to give us a solution for this bug ?
Do you have any update from the developers on the time that will take them to
give us a solution for this bug ?[/q]
The bug for getURL("javascript:blah()") failing when the content is local to
a drive or cd or dvd is still open. If you need a fast workaround my tests
with externalInterface have been successful. I am pushing for a fix in the
next Flash Player update but I cannot guarantee that will happen, nor can I say
when that update is coming.
In the meantime we've nailed down a similar getURL("javascript") bug only this
one's with live content. If the HTML and SWF are in separate domains the
getURL("javascript") calls will fail in IE6 and IE7 only. ExternalInterface
has been successful as a workaround for that as well.
I expect to have both of these in a technote shortly so that while a long-term
solution may not be immediate we can at least save a lot of folks from
struggling with this issue.
Unfortunately no, I cannot guarantee what's going to happen or when. I'm
pushing for a fix, and that's all I can say at this time. Keep in mind that
updating Flash Player is a -very- non-trivial task, involving several thousand
man-hours of testing just for a single dot release, and hundreds of thousands
of testing hours for a major release.
Then I have ended up embarrased because, after ensuring that their trusted
paths were added to the security manager and that active content was allowed to
run in IE7 and everything else I have ever known to make this work, I have no
answers for them. I thought I was going crazy. And asking them to use Firefox
would be like asking my mom to use the cmd line.
This is absolutely eating into our schedules, and now I have to QA an enormous
amount of swf content to ensure that all getURL() calls are converted to
ExternalInterface.
Please Adobe, I love you, but this is hurting bad :(
Is there a link to the v9.0.47.0 flash player? I'd like to have my sales ppl
install this version as a temporary fix.
Is there any dangers with rolling back to v9.0.47.0?
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&sliceId=2http
://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&sliceId=2
Is there any dangers with rolling back to v9.0.47.0?
[/q]
Player Archive:
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266
The uninstaller will tell you a newer version is available and prevent the
uninstall... so from cmd go to where you placed the uninstaller and run it with
"/clean" after (no quotes). Then install the older player.
I imagine the only issues would be if you have already developed content using
the functionality now available in the v9.0.115.0 player. You'd lose that when
rolling back.
Minor releases are organized in folders inside the .zip files linked to from
that page.
This is absolutely eating into our schedules, and now I have to QA an enormous
amount of swf content to ensure that all getURL() calls are converted to
ExternalInterface. ([/q]
I understand your pain, and I've represented that to the team. That's about
all I can do.
externalInterface has a bad rap. It's really not that difficult to learn, and
it gives you a number of advantages that getURL just doesn't have.
Someone wrote that "Archived Flash Players available for testing purposes"
(http://www.adobe.com/go/tn_14266) does not contain any minor versions. That is
incorrect. 9.0.47.0 is included there as well as all earlier revisions.
Woops I am sorry. I didn't realize that it was a zip file that contained the
minor versions.
Though I am not the one to escalate a discussion usually, certainly not in a
newsgroup, this time I'll make an exception.
I'm not a big flash expert. I am a development manager in a company that
relies on flash technology heavily. I have a few flash programmers working in
my team, and a few flash designers working for me on a regular basis.
Now let me tell you a story - One day I bumped into a piece of code that one
of our developers wrote, where they used geturl to call a Javascript function.
Without any knowledge of flash, it looked like sort of a workaround to me. It
just didn't make sense to me that a function called getURL would be used to
call a js function conventionally. I've been told that this is used a lot, all
over our code. I therefore sent one that developer to research and make sure
that usage of geturl for js calls is documented in the official adobe
documentation. My concern was that if this is an undocumented usage of this
function, it will one day vanish off the face of the earth. The developer came
back and showed me that this type of usage is indeed documented in Flash CS3
help files. I felt pretty safe back then.
Now let's think about where this new problem comes into effect. You could
claim that it's just an esoteric issue. Consider the ultra-popular social
platforms like facebook, bebo, myspace, etc. Do you know how you create an
application for these platforms? (hint: it's an iframe). So how many people use
facebook applications out there? I say there are enough to consider this new
problem pretty extensive.
At the bottom line - The new flash player is an embarrassment. Adobe released
a product that instantly breaks thousands of application and websites all
around the world. Now, all of us produce bugs (except for me, of course) and we
all know what software development cycles are, and how painful it is to push a
version out the door. At the same time I really don't understand the statement
which tells me that releasing a flash player takes lot of work. You have a
major major bug, screwing up thousands of your customers, if not millions of
them. My company bought thousands of dollars worth of your product and
established major parts of our software on your Flash platform, thinking that
you are serious enough to take care of us.
If I were in your shoes I would immediately release a new version of the
product, which will simply be an older version with a new number. I would
immediately cease the distribution of the bad version, and work my a** off to
issue a newer version that does not have this geturl bug.
Disappointment.
Have a nice weekend. We'll post 'again' on monday since I have zero faith that
this will be resolved before then. Pattern repeat next week...
must... resist... looking... into... silver... light...
We are not hosting content on seperate domains and so the cross-domain policy
does not come in to play, it is a simple SWF embeded in a HTML page that
contains JavaScript functions. We have "allowScriptAccess" set to "always" and
have updated our security setting to allow the content to run (we have built
several of these apps before) but since the release of r115 it's cactus.
Since there is not an issue of cross-domain policies I am guessing this is a
bug that will fixed soon by Adobe...please. Anybody else had this issue???[/q]
I have a very similar problem. I use Ubuntu Linux 7.10.0 (gutsy), Firefox
2.0.0.12, Flash player 9.0.115.0. My page is http://www.sciforex.hu where the
HTML content is displayed by a getURL() js function call. This is working under
Win XP sp2 in IE7 and Firefox correctly, but when I try to check it out under
Ubuntu, getURL() doesn't call any js functions in Firefox.
I create flash content using Adobe Captivate 3 and have javascripted buttons
that call other html/flash objects. We use javascript to control the called
window. I can only assume based on previous post descriptions that the getURL()
is used in captivate to execute Javascript. I suppose if it used the
recommended EI it shouldn't fail.
As far as I know, I can't modify which method is used in Captivate.
It also appears to break when delivered through our Learning Management
System. I've verified it isn't crossdomain or the other suggested changes
(allowScriptaccess, allownetworking, etc.).
Too bad those thousands of dollars and hours of testing didn't catch this
problem. And too bad it breaks other Adobe applications.
Let me also note that these issues are injections specific to FP 9.0.115.0.
If you're rolling out 9.0.47.0 you won't have these problems.[/q]
I previously posted this message and a link to some example files. This will
fail in IE6. The issue seems to be related to framesets. Please download this
BWolfe and test it.
[q]As previously reported the I am experiencing the problem with Flash Player
9 r115 & IE6 sp2 and getURL when trying to execute Javascript on a local file
system.I have discovered the problem exists when running content within a
frameset. All files are running in the same folder on the same drive but getURL
does fail when the page that the flash file is on is run within a frameset. To
see the conclusive evidence download this simple flash file.
http://www.omniap.com/downloads/geturl-flash9r115-240108.zip [/q]
I have another idea for Adobe if they are not going to release a fixed version
of the Flash Player, why not just re-release 9r47 and cunningly call it 9r116.
I'm dead serious. That way if our projects do not work we can advise our
clients to upgrade there player version rather than re-working several projects
or explaining the process of rolling back there player version. Maybe Adobe
should have done this as soon as they realised r115 had so many problems and
was costing their customer base so many $s.
Thanks,
Sam
I cannot believe that Adobe have not fixed this and it is nearly 3 months
Troubleatmill, Are there other things that are causing the unstability of your
application when it is ran in v115, besides the getURL calls? Please let us
know what those "other" bugs are, as they should be brought to light.
Otherwise, if you are delaying a major application that your company is
relying on because of some getURL's not working, just go change them to
ExternalInterface calls. I realize that a large app may have hundreds of getURL
calls but surely it wouldn't take THAT long to replace them all.
I wish you the best!
For me externalInterface is not an option and gets me in a catch-22. I need
to build code using features available in the newest players (r9.0.42.0 and
up), but can't until our end-users have the newest player - most currently have
r7, but we do directly control the player installed for 90% of those users.
However, I can't roll out the new player, because doing so will break existing
content (that uses getURL). That equates to hundreds of courses (CBTs) - all
of which would need upgraded to use externalInterface BEFORE allowing a roll
out of the new player. However, I can't upgrade even one of those courses now,
because 90% of those users still have r7 which doesn't support
externalInterface at all.
The workaround (because we - for the most part - can control what player is
installed for the user) is to roll out r9.0.47.0 which doesn't have an issue
with either getURL or externalInterface... then I can use the new features
available in the new players (except for r9.0.115.0) in all my new content, and
leave my old content alone until - I hope - Adobe resolves the issue in the
next build of the player. Otherwise, I'll have to then begin the long
processes of upgrading old content to externalInterface, and rolling out that
content again to all of our end points before continuing with any player
upgrades past r9.0.47.0.
The issue then remains with the other 10% of our users, who have already begun
to upgrade the player on their own. To the average - simple - user, you cannot
rollback the player because you get the annoying "There's a newer player
available." message (resolved with the "/clean" param during uninstall).
Unless we individually walk through the process with each user (about 4,000
users in that category), we'll need to create a package that handles this
rollback, and prevent reinstall of r9.0.115.0 later.
I agree with a previous poster, that Adobe in all its hundreds (if not
thousands) of hours spent testing - should have discovered the getURL issue and
resolved it before release of the player. But even so, now that it is out,
they should patch it with a new release or minimally re-release r9.0.47.0 under
a new build number. This should be done NOW so the number of users negatively
affected by the removal of new features only available in r9.0.115.0 is at a
minimum. The value added from the previous player to this one is not
substantial - so there is no reason why this issue cannot be resolved now.
Bring back Macromedia!
The official statement is in this technote:
"getURL and navigateToURL issues with Flash Player 9.0.115.0 ActiveX control"
( http://www.adobe.com/go/kb403072).
As the technote says, this will be addressed in an upcoming update to Flash
Player. That is all I can say at this time.
The official statement is in this technote:
"getURL and navigateToURL issues with Flash Player 9.0.115.0 ActiveX control"
( http://www.adobe.com/go/kb403072).
As the technote says, this will be addressed in an upcoming update to Flash
Player. That is all I can say at this time.
[/q]
Your link doesn't wok, Mr. Wolfe, I think you mean this:
http://www.adobe.com/go/kb403072
what should I do if I publish content for flash player 7, so I can't use ExternalInterface but it also must work on Flash Player 9.0.115.0 ?
This local getURL issues is fixed in Flash Player 9.0.124.0. I've updated
"getURL and navigateToURL issues with Flash Player 9.0.115.0 ActiveX control
(Windows)" (http://www.adobe.com/go/kb403072) accordingly.
This local getURL issues is fixed in Flash Player 9.0.124.0. I've updated
"getURL and navigateToURL issues with Flash Player 9.0.115.0 ActiveX control
(Windows)" (http://www.adobe.com/go/kb403072) accordingly.[/q]
I haven't tried the new player yet - but will shortly. Thanks for all your
help!
We've got to break you of the URLs in "( )" habit... the link is
http://www.adobe.com/go/kb403072
personally I'd prefer that fusetalk be less dumb about it's URL's. After all
this time I don't seem to be able to break the trailing paren habit...
http://lexusofdanversma.redlinecontent.com/Pages/Page.cfm?pageID=118873
Problem is that one of our clients is framing this page using the iframe tag
on another one of their sites:
http://www.lexusofdanversma.com/menu_Build_A_Lexus_3315
If you view the first link, you'll see that the resize works perfectly.
However, when the page is viewed from within an iframe the resize doesn't
appear to work. The Flash movie is making a getURL call as below:
getURL("javascript:newSize(" + Number(JSnewheight + footer.disclaimer._height
+ 25 + header._height) + ")","_self");
You can see the JS function on the actual page itself. I've tried everything I
can think of but nothing appears to fix this problem. Flash doesn't even make
the JS function call.
I can't find anything online that seems to indicate this is a problem. Does
anyone in this topic have any ideas?