web: Merge flashvars with swf url query vars

This commit is contained in:
Nathan Adams 2020-10-12 22:16:06 +02:00 committed by Mike Welsh
parent 30fffa8022
commit b7b67cacb2
5 changed files with 40 additions and 42 deletions

View File

@ -172,7 +172,7 @@ exports.RufflePlayer = class RufflePlayer extends HTMLElement {
* @param {URLSearchParams|String|Object} [parameters] The parameters (also known as "flashvars") to load the movie with.
* If it's a string, it will be decoded into an object.
* If it's an object, every key and value must be a String.
* If it's null or undefined, it will attempt to be parsed from the URL. If you explicitly want no flashvars, use {}.
* These parameters will be merged onto any found in the query portion of the swf URL.
*/
async stream_swf_url(url, parameters) {
//TODO: Actually stream files...
@ -181,13 +181,11 @@ exports.RufflePlayer = class RufflePlayer extends HTMLElement {
console.log("Loading SWF file " + url);
await this.ensure_fresh_instance();
if (
(parameters === null || parameters === undefined) &&
url.indexOf("?") > -1
) {
parameters = url.substring(url.indexOf("?"));
}
this.instance.stream_from(url, sanitize_parameters(parameters));
parameters = {
...sanitize_parameters(url.substring(url.indexOf("?"))),
...sanitize_parameters(parameters),
};
this.instance.stream_from(url, parameters);
if (this.play_button) {
this.play_button.style.display = "block";

View File

@ -1,19 +1,20 @@
<ruffle-object
type="application/x-shockwave-flash"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="550"
height="400"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<ruffle-embed
src="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo"
type="application/x-shockwave-flash"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="550"
height="400"
quality="high"
menu="false"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf?a=default&c" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="flashvars" value="a=1&b=3+%253&d[]=foo" />
<ruffle-embed
src="/test_assets/flashvars.swf?a=default&c"
width="550"
height="400"
quality="high"
menu="false"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
/>
</ruffle-object>

View File

@ -14,11 +14,12 @@
height="400"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo" />
<param name="movie" value="/test_assets/flashvars.swf?a=default&c" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="flashvars" value="a=1&b=3+%253&d[]=foo" />
<embed
src="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo"
src="/test_assets/flashvars.swf?a=default&c"
width="550"
height="400"
quality="high"

View File

@ -1,20 +1,19 @@
<ruffle-object
type="application/x-shockwave-flash"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="550"
height="400"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="flashvars" value="a=1&b=3+%253&c&d[]=foo" />
<ruffle-embed
src="/test_assets/flashvars.swf"
type="application/x-shockwave-flash"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="550"
height="400"
quality="high"
menu="false"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<ruffle-embed
src="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo"
width="550"
height="400"
quality="high"
menu="false"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
/>
</ruffle-object>

View File

@ -14,12 +14,11 @@
height="400"
codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
>
<param name="movie" value="/test_assets/flashvars.swf" />
<param name="movie" value="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="flashvars" value="a=1&b=3+%253&c&d[]=foo" />
<embed
src="/test_assets/flashvars.swf"
src="/test_assets/flashvars.swf?a=1&b=3+%253&c&d[]=foo"
width="550"
height="400"
quality="high"