วิศวกรรมโทรคมนาคม มี ที่ไหน บ้าง

ตั้งกระทู้ใหม่

 อยากรู้ว่ามีที่ไหนบ้าง???&lt;br&gt; &lt;br&gt;แล้วแต่ละที่ยากมากมั้ยคะ&amp;nbsp;&lt;br&gt; &lt;style&gt; #attach-container { width: 288px; height: 162px; background: #000; margin: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: height 0.4s ease-in-out; -moz-transition: height 0.4s ease-in-out; -ms-transition: height 0.4s ease-in-out; -o-transition: height 0.4s ease-in-out; } @media (min-width: 500px) { #attach-container { width: 480px; height: 270px; } } @media (min-width: 768px) { #attach-container { width: 640px; height: 360px; } } @media (min-width: 992px) { #attach-container { width: 640px; height: 396px; } } /* detach-container */ #detach-container { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } /* detach-container - when player is in attached mode */ #detach-container.rmp-attach { width: 100%; height: 100%; } /* detach-container - when player is in detached mode */ #detach-container.rmp-detach { width: 292px; height: 166px; position: fixed; bottom: 8px; right: 8px; z-index: 999999; border: 2px solid #000; box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.3); } .rmp-outstream-close-button { position: absolute; right: 8px; top: 8px; width: 40px; height: 40px; line-height: 40px; text-align: center; font-size: 32px; cursor: pointer; background: rgba(0, 0, 0, 0.6); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-background-clip: padding-box; background-clip: padding-box; } .rmp-mobile .rmp-outstream-close-button { right: 8px; left: auto; } @media (min-width: 768px) { #detach-container.rmp-detach { width: 484px; height: 274px; bottom: 16px; right: 16px; } } #attach-container.hidden-player { height: 0; } #attach-container.hidden-player #detach-container { height: 0; border: hidden; } #attach-container.hidden-player #rmpPlayer { height: 0!important; } &lt;/style&gt; &lt;div id="attach-container" class="hidden-player"&gt; &lt;div id="detach-container"&gt; &lt;div id="rmpPlayer"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;script src="https://cdn.radiantmediatechs.com/rmp/5.11.3/js/rmp.min.js"&gt; <script> /** * @license Copyright (c) 2015-2020 Radiant Media Player * rmp-detachable-player | https://github.com/radiantmediaplayer/rmp-detachable-player */ (function() { 'use strict'; // reference to containers var playerId = 'rmpPlayer'; var container = document.getElementById(playerId); var attachContainer = document.getElementById('attach-container'); var detachContainer = document.getElementById('detach-container'); var closeButton = document.createElement('div'); if (!container || !attachContainer || !detachContainer) { return; } // our player instance var rmp = new RadiantMP(playerId); // player framework var rmpFW = rmp.getFramework(); // we define our player streaming URLs and settings var settings = { licenseKey: "Kl8lenZhM3oyeWVpP3JvbTVkYXNpczMwZGIwQSVfKg==", autoHeightMode: true, ads: true, adOutStream: true, muted: true, skin: 'outstream', adTagUrl: "https:\/\/pubads.g.doubleclick.net\/gampad\/ads?iu=\/8408698\/vast&description_url=[placeholder]&tfcd=0&npa=0&sz=640x480&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=&nofb=1" }; // our app variables var debug = false; var _log = function(data) { if (window.console && window.console.log && data) { window.console.log(data); } }; var playerAttached = true; var viewablePreviousRatio = 0.5; var firstView = false; // function to run when the player should detach var _detachPlayer = function() { playerAttached = false; rmpFW.addClass(detachContainer, 'rmp-detach'); rmp.resize(); }; // function to run when the player should be attached to its original location var _attachPlayer = function() { playerAttached = true; rmpFW.removeClass(detachContainer, 'rmp-detach'); rmp.resize(); }; var _handleIntersect = function(entries) { entries.forEach(function(entry) { if (entry.intersectionRatio > viewablePreviousRatio) { if (debug) { _log('player comes into view'); } // we do not want to detach player before viewer has scrolled to it at least once if (!firstView) { firstView = true; // here we automatically play our outstream ad when player first comes into view rmp.play(); viewablePreviousRatio = 0.1; } else { viewablePreviousRatio = entry.intersectionRatio; } if (!playerAttached) { _attachPlayer(); } } else { if (debug) { _log('player comes out of view'); } if (playerAttached && firstView) { _detachPlayer(); } viewablePreviousRatio = entry.intersectionRatio; } }); }; var _attachViewableObserver = function() { container.removeEventListener('ready', _attachViewableObserver); if (typeof window.IntersectionObserver !== 'undefined') { var options = { root: null, rootMargin: '0px', threshold: [0.5], }; var viewableObserver = new IntersectionObserver(_handleIntersect, options); viewableObserver.observe(attachContainer); } }; var _trace = function(input) { if (window.console.trace && input) { window.console.trace(input); } }; // when destroy method finishes we clear listeners and remove player from DOM var _onDestroyCompleted = function() { container.removeEventListener('destroycompleted', _onDestroyCompleted); var parent = container.parentNode; if (parent) { try { parent.removeChild(container); } catch (e) { _trace(e); } } attachContainer.style.height = 0; detachContainer.remove(); }; // player needs be removed from page // first we need to destroy it var _removePlayer = function() { container.removeEventListener('autoplayfailure', _removePlayer); closeButton.removeEventListener('click', _removePlayer); container.addEventListener('destroycompleted', _onDestroyCompleted); rmp.destroy(); }; var _appendCloseButton = function() { container.removeEventListener('adstarted', _appendCloseButton); closeButton.className = 'rmp-outstream-close-button rmp-i rmp-i-close'; // interacting with close button will cause player to be removed from DOM closeButton.addEventListener('click', _removePlayer); // append close button to player container container.appendChild(closeButton); }; // function to collapse player var _endPlayer = function() { container.removeEventListener('autoplayfailure', _endPlayer); container.removeEventListener('adcontentresumerequested', _endPlayer); container.removeEventListener('addestroyed', _endPlayer); container.removeEventListener('aderror', _endPlayer); if (debug) { _log('end player'); } setTimeout(function() { _removePlayer(); }, 400); }; container.addEventListener('ready', function() { // if Google IMA has been blocked by an ad-blocker or failed to load // we need to remove the player from DOM if (rmp.getAdParserBlocked()) { _removePlayer(); return; } // when player is ready create IntersectionObserver _attachViewableObserver(); }); container.addEventListener('adstarted', function(){ if (debug) { _log('adstarted'); } _appendCloseButton(); viewablePreviousRatio = 0.5; }); container.addEventListener('adadsmanagerloaded', function(){ if (debug) { _log('adadsmanagerloaded'); } attachContainer.classList.remove('hidden-player'); }); container.addEventListener('autoplayfailure', _endPlayer); container.addEventListener('adcontentresumerequested', _endPlayer); container.addEventListener('addestroyed', _endPlayer); container.addEventListener('aderror', function() { // The Ad error API methods must be queried in an aderror callback if (debug) { _log(rmp.getAdErrorType()); _log(rmp.getAdErrorMessage()); _log(rmp.getAdVastErrorCode()); } _endPlayer(); }); // we init the player rmp.init(settings); })();
ขอบคุณล่วงหน้านะคะ^^
PS.  สิ่งที่ยิ่งใหญ่ของโลกเริ่มจากความสงสัยก่อนทั้งนั้น