ලබා ගන්නේ කෙසේද windowWidth
, windowHeight
, pageWidth
, pageHeight
, screenWidth
, screenHeight
, pageX
, pageY
, screenX
, screenY
, සියලු ප්රධාන බ්රව්සරයන් තුළ කි්රයාත්මක කරන අතර?
ලබා ගන්නේ කෙසේද windowWidth
, windowHeight
, pageWidth
, pageHeight
, screenWidth
, screenHeight
, pageX
, pageY
, screenX
, screenY
, සියලු ප්රධාන බ්රව්සරයන් තුළ කි්රයාත්මක කරන අතර?
Answers:
ඔබට කවුළුවේ ප්රමාණය හෝ ලේඛනය jQuery සමඟ ලබා ගත හැකිය:
// Size of browser viewport.
$(window).height();
$(window).width();
// Size of HTML document (same as pageHeight/pageWidth in screenshot).
$(document).height();
$(document).width();
තිර ප්රමාණය සඳහා ඔබට screen
වස්තුව භාවිතා කළ හැකිය :
window.screen.height;
window.screen.width;
46
css ('height') ( "46px"
) වැනි නූලකට වඩා සංඛ්යාවක් ( ) ලබා දෙයි.
මෙය ඔබ දැනගත යුතු සියල්ල ඇත: දර්ශනපථ / කවුළු ප්රමාණය ලබා ගන්න
නමුත් කෙටියෙන්:
var win = window,
doc = document,
docElem = doc.documentElement,
body = doc.getElementsByTagName('body')[0],
x = win.innerWidth || docElem.clientWidth || body.clientWidth,
y = win.innerHeight|| docElem.clientHeight|| body.clientHeight;
alert(x + ' × ' + y);
කරුණාකර මෙම පිළිතුර සංස්කරණය කිරීම නවත්වන්න. විවිධ පුද්ගලයින්ගේ කේත ආකෘති මනාපයට ගැලපෙන පරිදි එය දැන් 22 වතාවක් සංස්කරණය කර ඇත. ඔබට අවශ්ය වන්නේ නවීන බ්රව්සර් ඉලක්ක කිරීමට පමණක් නම් මෙය අවශ්ය නොවන බව පෙන්වා දී ඇත - එසේ නම් ඔබට අවශ්ය වන්නේ පහත සඳහන් දෑ පමණි:
const width = window.innerWidth || document.documentElement.clientWidth ||
document.body.clientWidth;
const height = window.innerHeight|| document.documentElement.clientHeight||
document.body.clientHeight;
console.log(width, height);
g = document.body
?
document.body
.
පිරිසිදු ජාවාස්ක්රිප්ට් ( මූලාශ්රය ) සහිත හරස් බ්රව්සර විසඳුමක් මෙන්න :
var width = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var height = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
body element
එහි වටිනාකම නැවත ලැබෙනු ඇත undefined
.
ලබා ගත හැකි තිර මානය ලබා ගැනීම සඳහා jQuery නොවන ක්රමයක්. window.screen.width/height
දැනටමත් සකස් කර ඇත, නමුත් ප්රතිචාරාත්මක වෙබ් නිර්මාණ සහ සම්පූර්ණත්වය නිසා එම ගුණාංග සඳහන් කිරීම වටී යැයි මම සිතමි.
alert(window.screen.availWidth);
alert(window.screen.availHeight);
http://www.quirksmode.org/dom/w3c_cssom.html#t10 :
availWidth සහ availHeight - තිරයේ ඇති පළල සහ උස (OS කාර්ය තීරු සහ එවැනි ඒවා හැර).
window.screen.availHeight
සාමාන්ය තිර මාදිලිය අනුචලනය කිරීමට බල කරන පරිදි (ෆයර්ෆොක්ස් සහ ක්රෝම් වලින් පරීක්ෂා කර ඇත) සම්පූර්ණ තිර ප්රකාරය උපකල්පනය කරයි.
window.screen.height
වෙනුවට භාවිතා කරන්න.
නමුත් අපි ප්රතිචාර දක්වන තිර ගැන කතා කරන විට සහ යම් හේතුවක් නිසා jQuery භාවිතා කර එය හැසිරවීමට අපට අවශ්ය නම්,
window.innerWidth, window.innerHeight
නිවැරදි මිනුම ලබා දෙයි. එය පවා අනුචලන තීරුවේ අමතර ඉඩ ඉවත් කරන අතර එම ඉඩ වෙනස් කිරීම ගැන අපට කරදර විය යුතු නැත :)
window.innerWidth
හා window.innerHeight
ගිණුමට අනුචලන තීරුව ප්රමාණය සැලකිල්ලට ගැනීමට අසමත් වෙයි. අනුචලන තීරු තිබේ නම්, මෙම ක්රම මඟින් සියලුම ඩෙස්ක්ටොප් බ්රව්සර්වල කවුළු ප්රමාණයට වැරදි ප්රති results ල ලබා දේ. Stackoverflow.com/a/31655549/508355
ඔබට WINDOW පළල සහ උස ලබා ගත හැකිය, බ්රව්සර් මෙවලම් තීරු සහ වෙනත් දේවල් මඟහරින්න. එය බ්රව්සරයේ කවුළුවේ භාවිතා කළ හැකි සැබෑ ප්රදේශයයි .
මෙය සිදු කිරීම සඳහා: window.innerWidth
සහ window.innerHeight
ගුණාංග භාවිතා කරන්න
( w3 පාසල්වල doc බලන්න ).
බොහෝ අවස්ථාවන්හීදී පරිපූර්ණ කේන්ද්රීය පාවෙන මොඩල් සංවාදයක් පෙන්වීම හොඳම ක්රමය වනු ඇත. බ්රව්සරය භාවිතා කරන්නේ කුමන විභේදන දිශානතිය හෝ කවුළු ප්රමාණය නොසලකා කවුළුවේ ස්ථාන ගණනය කිරීමට එය ඔබට ඉඩ දෙයි.
function wndsize(){
var w = 0;var h = 0;
//IE
if(!window.innerWidth){
if(!(document.documentElement.clientWidth == 0)){
//strict mode
w = document.documentElement.clientWidth;h = document.documentElement.clientHeight;
} else{
//quirks mode
w = document.body.clientWidth;h = document.body.clientHeight;
}
} else {
//w3c
w = window.innerWidth;h = window.innerHeight;
}
return {width:w,height:h};
}
function wndcent(){
var hWnd = (arguments[0] != null) ? arguments[0] : {width:0,height:0};
var _x = 0;var _y = 0;var offsetX = 0;var offsetY = 0;
//IE
if(!window.pageYOffset){
//strict mode
if(!(document.documentElement.scrollTop == 0)){offsetY = document.documentElement.scrollTop;offsetX = document.documentElement.scrollLeft;}
//quirks mode
else{offsetY = document.body.scrollTop;offsetX = document.body.scrollLeft;}}
//w3c
else{offsetX = window.pageXOffset;offsetY = window.pageYOffset;}_x = ((wndsize().width-hWnd.width)/2)+offsetX;_y = ((wndsize().height-hWnd.height)/2)+offsetY;
return{x:_x,y:_y};
}
var center = wndcent({width:350,height:350});
document.write(center.x+';<br>');
document.write(center.y+';<br>');
document.write('<DIV align="center" id="rich_ad" style="Z-INDEX: 10; left:'+center.x+'px;WIDTH: 350px; POSITION: absolute; TOP: '+center.y+'px; HEIGHT: 350px"><!--К сожалению, у Вас не установлен flash плеер.--></div>');
"කොන්සෝලය" භාවිතා කරමින් හෝ "පරීක්ෂා කරන්න" ක්ලික් කිරීමෙන් පසු ඕනෑම වෙබ් අඩවියක දැනට පටවා ඇති පිටුවේ උස සහ පළල පරීක්ෂා කිරීම .
පියවර 1 : මූසිකයේ දකුණු බොත්තම ක්ලික් කර 'පරීක්ෂා කරන්න' මත ක්ලික් කර 'කොන්සෝලය' ක්ලික් කරන්න
පියවර 2 : ඔබගේ බ්රව්සර තිරය 'උපරිම' ප්රකාරයේ නොතිබීමට වග බලා ගන්න. බ්රව්සර් තිරය 'උපරිම' ප්රකාරයේ තිබේ නම්, ඔබ මුලින්ම උපරිම බොත්තම ක්ලික් කළ යුතුය (දකුණේ හෝ වමේ ඉහළ කෙළවරේ ඇති) සහ එය උපරිම නොකරන්න.
පියවර 3 : දැන්, ලකුණට වඩා විශාල ('>') එනම් පහත සඳහන් දේ ලියන්න
> window.innerWidth
output : your present window width in px (say 749)
> window.innerHeight
output : your present window height in px (say 359)
ලේඛනයේ පළල සහ උස සඳහා ( pageWidth
සහ pageHeight
පින්තූරයේ) සැබවින්ම වෙඩි නොවදින විසඳුමක් ඔබට අවශ්ය නම්, ඔබට මගේ ප්ලගිනයක් වන jQuery.documentSize භාවිතා කිරීම ගැන සලකා බැලිය යුතුය .
එයට ඇත්තේ එක් අරමුණක් පමණි: jQuery සහ වෙනත් ක්රම අසමත් වූ අවස්ථා වලදී පවා නිවැරදි ලේඛන ප්රමාණය නැවත ලබා දීම . එහි නම තිබියදීත්, ඔබට අනිවාර්යයෙන්ම jQuery භාවිතා කිරීමට අවශ්ය නැත - එය වැනිලා ජාවාස්ක්රිප්ට් වලින් ලියා ඇති අතර jQuery නොමැතිව ක්රියා කරයි .
භාවිතය:
var w = $.documentWidth(),
h = $.documentHeight();
ගෝලීය සඳහා document
. වෙනත් ලේඛන සඳහා, උදා: ඔබට ප්රවේශ විය හැකි කාවැද්දූ අයිෆ්රේම් එකක, ලේඛනය පරාමිතියක් ලෙස සම්මත කරන්න:
var w = $.documentWidth( myIframe.contentDocument ),
h = $.documentHeight( myIframe.contentDocument );
යාවත්කාලීන කිරීම: දැන් කවුළු මානයන් සඳහාද
1.1.0 අනුවාදයේ සිට, jQuery.documentSize කවුළු මානයන් ද හසුරුවයි.
එය අවශ්ය නිසා
$( window ).height()
වන සපිරි, iOS දී පලක් වී සිටින බව දක්වා$( window ).width()
හා $( window ).height()
ය ජංගම මත විශ්වාසය තැබිය නොහැකි ඔවුන් ජංගම විශාලනය බලපෑම් හැසිරවිය නැති නිසා.jQuery.documentSize මෙම ගැටළු විසඳන $.windowWidth()
සහ සපයන $.windowHeight()
. වැඩි විස්තර සඳහා කරුණාකර ප්රලේඛනය බලන්න .
ප්රමාණය පෙන්වීම සඳහා ඔබට භාවිතා කළ හැකි කුඩා ජාවාස්ක්රිප්ට් පොත් සලකුණක් මා ලිවීය. ඔබට එය පහසුවෙන් ඔබගේ බ්රව්සරයට එක් කළ හැකි අතර ඔබ එය ක්ලික් කරන සෑම විටම ඔබගේ බ්රව්සර කවුළුවේ දකුණු කෙළවරේ ප්රමාණය පෙනෙනු ඇත.
මෙහි bookmarklet භාවිතා කරන ආකාරය ඔබට තොරතුරු සොයා https://en.wikipedia.org/wiki/Bookmarklet
javascript:(function(){!function(){var i,n,e;return n=function(){var n,e,t;return t="background-color:azure; padding:1rem; position:fixed; right: 0; z-index:9999; font-size: 1.2rem;",n=i('<div style="'+t+'"></div>'),e=function(){return'<p style="margin:0;">width: '+i(window).width()+" height: "+i(window).height()+"</p>"},n.html(e()),i("body").prepend(n),i(window).resize(function(){n.html(e())})},(i=window.jQuery)?(i=window.jQuery,n()):(e=document.createElement("script"),e.src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js",e.onload=n,document.body.appendChild(e))}()}).call(this);
මුල් කේතය කෝපි වල ඇත:
(->
addWindowSize = ()->
style = 'background-color:azure; padding:1rem; position:fixed; right: 0; z-index:9999; font-size: 1.2rem;'
$windowSize = $('<div style="' + style + '"></div>')
getWindowSize = ->
'<p style="margin:0;">width: ' + $(window).width() + ' height: ' + $(window).height() + '</p>'
$windowSize.html getWindowSize()
$('body').prepend $windowSize
$(window).resize ->
$windowSize.html getWindowSize()
return
if !($ = window.jQuery)
# typeof jQuery=='undefined' works too
script = document.createElement('script')
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'
script.onload = addWindowSize
document.body.appendChild script
else
$ = window.jQuery
addWindowSize()
)()
මූලික වශයෙන් කේතය කුඩා කවුළුවක් සැකසීමට සූදානම් වන අතර එය ඔබේ කවුළුවේ ප්රමාණය වෙනස් කරන විට යාවත්කාලීන වේ.
ප්රතිචාර දක්වන පිරිසැලසුමට සම්බන්ධ සමහර අවස්ථාවලදී $(document).height()
වරායේ උස පමණක් පෙන්වන වැරදි දත්ත ලබා දිය හැකිය. උදාහරණයක් ලෙස සමහර div # එතීමේ උස ඇති විට: 100%, එම # රැප් එක එහි ඇති යම් කොටසකින් දිගු කළ හැකිය. නමුත් එහි උස තවමත් දර්ශනපථයේ උස මෙන් වනු ඇත. එවැනි තත්වයක් තුළ ඔබ භාවිතා කළ හැකිය
$('#wrapper').get(0).scrollHeight
එය නිරූපණය කරන්නේ තථ්ය ප්රමාණයයි.
තිර ප්රමාණයට අදාළ සම්පූර්ණ මාර්ගෝපදේශය
ජාවාස්ක්රිප්ට්
උස සඳහා:
document.body.clientHeight // Inner height of the HTML document body, including padding
// but not the horizontal scrollbar height, border, or margin
screen.height // Device screen height (i.e. all physically visible stuff)
screen.availHeight // Device screen height minus the operating system taskbar (if present)
window.innerHeight // The current document's viewport height, minus taskbars, etc.
window.outerHeight // Height the current window visibly takes up on screen
// (including taskbars, menus, etc.)
සටහන: කවුළුව උපරිම කළ විට මෙය screen.availHeight ට සමාන වේ
පළල සඳහා:
document.body.clientWidth // Full width of the HTML page as coded, minus the vertical scroll bar
screen.width // Device screen width (i.e. all physically visible stuff)
screen.availWidth // Device screen width, minus the operating system taskbar (if present)
window.innerWidth // The browser viewport width (including vertical scroll bar, includes padding but not border or margin)
window.outerWidth // The outer window width (including vertical scroll bar,
// toolbars, etc., includes padding and border but not margin)
Jquery
උස සඳහා:
$(document).height() // Full height of the HTML page, including content you have to
// scroll to see
$(window).height() // The current document's viewport height, minus taskbars, etc.
$(window).innerHeight() // The current document's viewport height, minus taskbars, etc.
$(window).outerHeight() // The current document's viewport height, minus taskbars, etc.
පළල සඳහා:
$(document).width() // The browser viewport width, minus the vertical scroll bar
$(window).width() // The browser viewport width (minus the vertical scroll bar)
$(window).innerWidth() // The browser viewport width (minus the vertical scroll bar)
$(window).outerWidth() // The browser viewport width (minus the vertical scroll bar)
ඩෙස්ක්ටොප් සහ මොබයිල් බ්රව්සර් සඳහා නියම දර්ශන ප්රමාණය දැන ගැනීම සඳහා මම පුස්තකාලයක් නිර්මාණය කළෙමි, මන්ද දර්ශනපථයේ ප්රමාණයන් උපාංග අතර නොගැලපෙන අතර එම තනතුරේ සියලුම පිළිතුරු මත විශ්වාසය තැබිය නොහැක (මේ පිළිබඳව මා කළ සියලු පර්යේෂණ වලට අනුව): https: // github .com / pyrsmk / W.
සමහර විට කවුළුව සහ අභ්යන්තර අන්තර්ගතය ප්රතිනිර්මාණය කිරීමේදී පළල / උස වෙනස්වීම් දැකීමට ඔබට අවශ්ය වේ.
ඒ සඳහා මම කුඩා පිටපතක් ලියා ඇති අතර එය ප්රතිනිර්මාණය සහ ක්ෂණිකව යාවත්කාලීන කිරීම් ගතිකව අධීක්ෂණය කරන ලොග් කොටුවක් එක් කරයි.
එය ස්ථාවර ස්ථානයක් සහ ඉහළ z- දර්ශකයක් සහිත වලංගු HTML එකක් එක් කරයි, නමුත් එය ප්රමාණවත් තරම් කුඩා බැවින් ඔබට මෙය කළ හැකිය :
පරීක්ෂා කර ඇත්තේ: ක්රෝම් 40, අයිඊ 11, නමුත් වෙනත් / පැරණි බ්රව්සර්වල ද වැඩ කිරීමට හැකි ය ... :)
function gebID(id){ return document.getElementById(id); }
function gebTN(tagName, parentEl){
if( typeof parentEl == "undefined" ) var parentEl = document;
return parentEl.getElementsByTagName(tagName);
}
function setStyleToTags(parentEl, tagName, styleString){
var tags = gebTN(tagName, parentEl);
for( var i = 0; i<tags.length; i++ ) tags[i].setAttribute('style', styleString);
}
function testSizes(){
gebID( 'screen.Width' ).innerHTML = screen.width;
gebID( 'screen.Height' ).innerHTML = screen.height;
gebID( 'window.Width' ).innerHTML = window.innerWidth;
gebID( 'window.Height' ).innerHTML = window.innerHeight;
gebID( 'documentElement.Width' ).innerHTML = document.documentElement.clientWidth;
gebID( 'documentElement.Height' ).innerHTML = document.documentElement.clientHeight;
gebID( 'body.Width' ).innerHTML = gebTN("body")[0].clientWidth;
gebID( 'body.Height' ).innerHTML = gebTN("body")[0].clientHeight;
}
var table = document.createElement('table');
table.innerHTML =
"<tr><th>SOURCE</th><th>WIDTH</th><th>x</th><th>HEIGHT</th></tr>"
+"<tr><td>screen</td><td id='screen.Width' /><td>x</td><td id='screen.Height' /></tr>"
+"<tr><td>window</td><td id='window.Width' /><td>x</td><td id='window.Height' /></tr>"
+"<tr><td>document<br>.documentElement</td><td id='documentElement.Width' /><td>x</td><td id='documentElement.Height' /></tr>"
+"<tr><td>document.body</td><td id='body.Width' /><td>x</td><td id='body.Height' /></tr>"
;
gebTN("body")[0].appendChild( table );
table.setAttribute(
'style',
"border: 2px solid black !important; position: fixed !important;"
+"left: 50% !important; top: 0px !important; padding:10px !important;"
+"width: 150px !important; font-size:18px; !important"
+"white-space: pre !important; font-family: monospace !important;"
+"z-index: 9999 !important;background: white !important;"
);
setStyleToTags(table, "td", "color: black !important; border: none !important; padding: 5px !important; text-align:center !important;");
setStyleToTags(table, "th", "color: black !important; border: none !important; padding: 5px !important; text-align:center !important;");
table.style.setProperty( 'margin-left', '-'+( table.clientWidth / 2 )+'px' );
setInterval( testSizes, 200 );
සංස්කරණය කරන්න: දැන් මෝස්තර අදාළ වන්නේ ලොගර් වගු මූලද්රව්යයට පමණි - සියලු වගු වලට නොවේ - එසේම මෙය jQuery රහිත විසඳුමකි :)
ES2020globalThis
හි හඳුන්වාදීමත් සමඟ ඔබට වැනි ගුණාංග භාවිතා කළ හැකිය.
තිර ප්රමාණය සඳහා:
globalThis.screen.availWidth
globalThis.screen.availHeight
කවුළු ප්රමාණය සඳහා
globalThis.outerWidth
globalThis.outerHeight
ඕෆ්සෙට් සඳහා:
globalThis.pageXOffset
globalThis.pageYOffset
... සහ එසේ ය.
alert("Screen Width: "+ globalThis.screen.availWidth +"\nScreen Height: "+ globalThis.screen.availHeight)
මෙය ලබා ගැනීම සඳහා ඔබට තිර වස්තුව භාවිතා කළ හැකිය .
පහත දැක්වෙන්නේ එය නැවත පැමිණෙන්නේ කුමක් ද යන්න පිළිබඳ උදාහරණයකි:
Screen {
availWidth: 1920,
availHeight: 1040,
width: 1920,
height: 1080,
colorDepth: 24,
pixelDepth: 24,
top: 414,
left: 1920,
availTop: 414,
availLeft: 1920
}
ඔබේ screenWidth
විචල්යය ලබා ගැනීම screen.width
සඳහා screenHeight
, ඔබ භාවිතා කරන්න screen.height
.
ඔබේ කවුළු පළල සහ උස ලබා ගැනීම සඳහා එය පිළිවෙලින් screen.availWidth
හෝ screen.availHeight
වේ.
සඳහා pageX
සහ pageY
විචල්ය, භාවිතා window.screenX or Y
. මෙය ඔබගේ වම්පස / ඉහළ තිරයේ ඉහළින් ඇති බව සලකන්න . එබැවින් ඔබට පළල තිර දෙකක් තිබේ නම් 1920
දකුණු තිරයේ වම්පස 500px කවුළුවක X අගය 2420
(1920 + 500) ඇත. screen.width/height
කෙසේ වෙතත්, වර්තමාන තිරයේ පළල හෝ උස පෙන්වන්න.
ඔබගේ පිටුවේ පළල සහ උස ලබා ගැනීමට, jQuery ගේ $(window).height()
හෝ භාවිතා කරන්න $(window).width()
.
නැවතත් jQuery භාවිතා කිරීම, භාවිතා කිරීම $("html").offset().top
සහ $("html").offset().left
ඔබේ pageX
සහ pageY
අගයන් සඳහා.
එම ප්රශ්නයට වසර 10 ක් පමණ තිබීම ගැන මම පුදුමයට පත් වන අතර මේ දක්වා කිසිවෙකු සම්පූර්ණ පිළිතුරක් ලබා දී නොමැති බව පෙනේ (අගයන් 10 ක් සමඟ). එබැවින් මම OP ප්රශ්නය (විශේෂයෙන් පින්තූරය) හොඳින් විශ්ලේෂණය කර අදහස් දැක්වීම් කිහිපයක් කරමි
(0,0)
දර්ශනපත්රයේ ඇත (බාර් සහ ප්රධාන මායිම් නොමැති බ්රව්සර් කවුළුව) ඉහළ වම් කෙළවරේ සහ අක්ෂ දකුණට සහ පහළට යොමු කෙරේ (OP පින්තූරයේ සලකුණු කර ඇති දේ) එබැවින් අගයන් pageX, pageY, screenX, screenY
negative ණ විය යුතුය (හෝ පිටුව කුඩා නම් ශුන්ය වේ හෝ අනුචලනය නොකෙරේ)screenHeight/Width
විශ්රාම වැටුප් (. MacOs දී උදා) පද්ධතිය මෙනු තීරුව ඇතුළු තිරය උස / පළල ගණන් කිරීමට අවශ්ය - මෙම අප භාවිතා නොවේ ඇයි .availWidth/Height
(එය ගණන් නො වන)windowWidth/Height
OP සඳහා අනුචලන බාර්වල ප්රමාණය ගණනය කිරීමට අවශ්ය නොවන බැවින් අපි භාවිතා කරමු.clientWidth/Height
screenY
- විසඳුමක් පහත දී අපි ඉහළ වම් බ්රවුසරය කෙළවරේ (තනතුරට එකතු window.screenY
) එහි මෙනුව / tabls / url එක බාර් උස). බාගැනීම්-පහළ තීරුව බ්රව්සරයේ සහ / හෝ සංවර්ධක කොන්සෝලය පිටුවේ විවෘතව තිබේ නම් එම අගය ගණනය කිරීම අපහසුය - එවැනි අවස්ථාවකදී මෙම අගය පහත දැක්වෙන විසඳුමේ එම තීරුවේ / කොන්සෝලයේ උසින් වැඩි වේ. නිවැරදි කිරීම සඳහා බාර් / කොන්සෝලයේ උස කියවිය නොහැක (මිනුම් කිරීමට පෙර එම තීරුව / කොන්සෝලය වසා දැමීමට පරිශීලකයාගෙන් ඉල්ලා සිටීම වැනි උපක්රමයක් නොමැතිව ...)pageWidth
- පිටු පළල කවුළු පළලට වඩා කුඩා නම්, <body>
මෙම අගය ලබා ගැනීම සඳහා අපි ළමා මූලද්රව්යවල ප්රමාණය අතින් ගණනය කළ යුතුය (අපි contentWidth
පහත විසඳුමෙන් උදාහරණ ගණනය කරන්නෙමු - නමුත් පොදුවේ මෙය එවැනි අවස්ථාවකට අපහසු විය හැකිය)<body>
ආන්තිකය = 0 - ඔබ විට ගණනය මෙම අගයන් සලකා බැලිය යුතුය නොවේ නම් pageWidth/Height
හාpageX/Y
මම එය ක්රෝම් 83.0, සෆාරි 13.1, ෆයර්ෆොක්ස් 77.0 සහ එජ් 83.0 මත පරීක්ෂා කරමි
// innerWidth
const screen_viewport_inner = () => {
let w = window,
i = `inner`;
if (!(`innerWidth` in window)) {
i = `client`;
w = document.documentElement || document.body;
}
return {
width: w[`${i}Width`],
height: w[`${i}Height`]
}
};
// outerWidth
const screen_viewport_outer = () => {
let w = window,
o = `outer`;
if (!(`outerWidth` in window)) {
o = `client`;
w = document.documentElement || document.body;
}
return {
width: w[`${o}Width`],
height: w[`${o}Height`]
}
};
// style
const console_color = `
color: rgba(0,255,0,0.7);
font-size: 1.5rem;
border: 1px solid red;
`;
// testing
const test = () => {
let i_obj = screen_viewport_inner();
console.log(`%c screen_viewport_inner = \n`, console_color, JSON.stringify(i_obj, null, 4));
let o_obj = screen_viewport_outer();
console.log(`%c screen_viewport_outer = \n`, console_color, JSON.stringify(o_obj, null, 4));
};
// IIFE
(() => {
test();
})();
ප්රතික්රියා JS ව්යාපෘතියේ තිරයේ පළල ලබා ගැනීමට මට හැකි වූයේ මේ ආකාරයට ය:
පළල 1680 ට සමාන නම් 570 ක් ආපසු 200 ක් ආපසු එවන්න
var screenWidth = window.screen.availWidth;
<Label style={{ width: screenWidth == "1680" ? 570 : 200, color: "transparent" }}>a </Label>