|
|
|
#1
|
|||
|
|||
|
LiveStream's server-side code loaded from an embedded iframe has scripting that is breaking responsive design techniques.
I'm working on a live-streaming page that uses responsive web design. I've figured out how to resize the LiveStream player, but it only works on refresh, not resizing. The problem is built into LiveStream, not my code. Looking at LiveSteam's code that is loaded through the iframe, I found that #layout4 and #layout4-lsplayer are both using Javascript to captured the width and height of the iframe upon load, and the script is then adding this width and height as inline styles to both divs. <div id="layout4" style="display: block; width: 960px; height: 564px; "> <div id="layout4-lsplayer" style="width: 960px; height: 564px; "> … </div> </div> This means that if the iframe is resized from responsive web design, that the script has already set a fixed pixel width and height to the internal player. The only way to resize the player is to refresh the browser, which is poor practice for responsive web design. After the page has loaded, I can strip the inline CSS from these two elements, and every works perfectly. In reality, this seems quite unnecessary, especially if the width and height are being set (twice) in the iFrame code. Please turn this off and make the code more semantic without the inline CSS, or else tell us how I can override it and prevent LiveStream's script from breaking the layout on my site. However, it would also work to override these pixel values with a percentage, like 100%, so I can let me design control the size, not LiveStream's Javascript. |
|
#2
|
|||
|
|||
|
Anyone resolve this? I am having a similar issue.
When resizing browser, the ideal behavior should be that the <iframe> from Livestream fills the intended browser width, but its not. What's the best way to resolve? |
|
#3
|
|||
|
|||
|
I found it only works to refresh the iframe using Jquery on window resize.
Code:
<div id="livestreamPlayer">
<iframe width="640" height="360" id='livestream' src="http://cdn.livestream.com/embed/cmslive01?layout=4&color=0xe7e7e7&autoPlay=false&mute=false&iconColorOver=0x888888&iconColor=0x777777&allowchat=false&width=640&height=360" style="border:0;outline:0" frameborder="0" scrolling="no"></iframe>
</div>
$(window).resize(function () {
// resize livestream player
$('#livestream').attr('src', 'http://cdn.livestream.com/embed/cmslive01?layout=4&color=0xe7e7e7&autoPlay=false&mute=false&iconColorOver=0x888888&iconColor=0x777777&allowchat=false&width=640&height=360');
});
Code:
$(document).ready(function(){
$("#livestreamPlayer").fitVids({ customSelector: "iframe[src^='http://cdn.livestream.com']"});
});
|
|
#4
|
|||
|
|||
|
There is a bit of a work around. I noticed on the embed options there is a bit of text that reads
"This is our new iFrame embed code which supports flash and is mobile ready. Want to use the old embed code instead? Click here" If you use the old embed code it doesn't use an iframe and you have a bit more flexibility to do this sort of manipulation. |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|