Forniamo video tutorial Flash che vengono installati sul disco rigido locale (Windows) con la nostra applicazione. La nostra app utilizza ShellExecute per aprire il file html (in qualunque browser sia associato ai file html) in cui sono incorporati.Rileva Chrome come browser associato ai file html in Windows
A quanto pare c'è un bug in Flash giocatori più recenti di Chrome che non riesce a riprodurre file locali (ma i file sul web vanno bene.)
(Francamente, sono stupito che questo bug non è stato riparato da Google. Sembra un grande per me ... ma forse non molte persone giocano a Flash da siti diversi dal web?)
C'è un work-around su about: schermata dei plugin in Chrome, ma possiamo chiedere ai nostri utenti di farlo Ecco una discussione sul work-around: http://techsmith.custhelp.com/app/answers/detail/a_id/3518
Desidero fornire ai miei utenti un'opzione per aprire i nostri file html IE. Se Chrome è il browser predefinito, visualizzerei una casella di controllo che dice qualcosa di imbarazzante come "Se i nostri video tutorial non vengono riprodotti, seleziona questa casella per provarli in IE".
Questo codice XE2 (di due anni fa su SO: link) è ancora ragionevole?
if pos('CHROME', UpperCase(GetAssociation('C:\Path\File.html')) > 0 then
// Chrome is the default browser
function GetAssociation(const DocFileName: string): string;
var
FileClass: string;
Reg: TRegistry;
begin
Result := '';
Reg := TRegistry.Create(KEY_EXECUTE);
Reg.RootKey := HKEY_CLASSES_ROOT;
FileClass := '';
if Reg.OpenKeyReadOnly(ExtractFileExt(DocFileName)) then
begin
FileClass := Reg.ReadString('');
Reg.CloseKey;
end;
if FileClass <> '' then begin
if Reg.OpenKeyReadOnly(FileClass + '\Shell\Open\Command') then
begin
Result := Reg.ReadString('');
Reg.CloseKey;
end;
end;
Reg.Free;
end;
HKEY_CLASSES_ROOT \ Shell \ Open \ Command indica alla shell di Windows quale programma utilizzare per aprire i file HTML. Per vedere cosa l'utente utilizza per navigare in Internet, selezionare HKEY_CLASSES_ROOT \ .html. – cleong
L'apertura di file HTML locali contenenti Flash è problematica in tutti e tre i principali browser. IE lancia un brutto messaggio di avviso. Firefox potrebbe bloccarsi se il file SWF fa qualcosa che attiva la finestra di avviso di sicurezza di Flash nel momento sbagliato. Roba da incubo. – cleong
Non è un bug, è un buco di sicurezza, e lo hanno chiuso. –