javascript for পর্দায় একটি পপআপ উইন্ডো সেন্টার?



javascript pdf (9)

আপনি এটি করতে CSS ব্যবহার করতে পারেন, পপআপ কেন্দ্রে স্থাপন করা উপাদানটিতে কেবল নিম্নলিখিত বৈশিষ্ট্যগুলি দিন

element{

position:fixed;
left: 50%;
top: 50%;
-ms-transform: translate(-50%,-50%);
-moz-transform:translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);

}

https://src-bin.com

কিভাবে আমরা স্ক্রীন পরিবর্তনশীল কেন্দ্রে বর্তমানে নির্বাচিত স্ক্রিন রেজোলিউশনের কেন্দ্রে জাভাস্ক্রিপ্ট window.open ফাংশন দিয়ে খোলা একটি পপআপ উইন্ডোকে কেন্দ্র করতে পারি?


Answer #1

আমার সুপারিশ অবশিষ্ট স্থান 33% বা 25% অবশিষ্ট স্থান ব্যবহার করা হয়,
এবং অন্যান্য উদাহরণ হিসাবে 50% এখানে পোস্ট করা হয় না,
প্রধানত উইন্ডো হেডারের কারণে ,
যা ব্যবহারকারীকে ভাল এবং আরো আরাম দেখায়,

সম্পূর্ণ কোড:

    <script language="javascript" type="text/javascript">
        function OpenPopupCenter(pageURL, title, w, h) {
            var left = (screen.width - w) / 2;
            var top = (screen.height - h) / 4;  // for 25% - devide by 4  |  for 33% - devide by 3
            var targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
        } 
    </script>
</head>
<body>
    <button onclick="OpenPopupCenter('http://www.google.com', 'TEST!?', 800, 600);">click on me</button>
</body>
</html>



এই লাইন চেক আউট:
var উপরে = (পর্দা। হাই - এইচ) / 4; // 25% জন্য - 4 দ্বারা devide | 33% - 3 দ্বারা devide


Answer #2

এই সংকর সমাধান, উভয় একক এবং দ্বৈত পর্দা সেটআপ আমার জন্য কাজ

function popupCenter (url, title, w, h) {
    // Fixes dual-screen position                              Most browsers      Firefox
    const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
    const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
    const left = (window.screen.width/2)-(w/2) + dualScreenLeft;
    const top = (window.screen.height/2)-(h/2) + dualScreenTop;
    return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}

Answer #3

একটি বহু-মনিটর সেটআপে বর্তমান স্ক্রীনের কেন্দ্র নির্ধারণ করার জটিলতার কারণে, প্যারামিটার উইন্ডোতে পপ-আপকে কেন্দ্র করা একটি সহজ বিকল্প। অন্য প্যারামিটার হিসাবে কেবলমাত্র পিতা-মাতা উইন্ডোটি পাস করুন:

function popupwindow(url, title, win, w, h) {
    var y = win.top.outerHeight / 2 + win.top.screenY - ( h / 2)
    var x = win.top.outerWidth / 2 + win.top.screenX - ( w / 2)
    return win.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+y+', left='+x);
} 

Answer #4

এটি ফায়ারফক্সে খুব ভাল কাজ করে।
শুধু শীর্ষ পরিবর্তনশীল অন্য কোন নামে পরিবর্তন করুন এবং আবার চেষ্টা করুন

        var w = 200;
        var h = 200;
        var left = Number((screen.width/2)-(w/2));
        var tops = Number((screen.height/2)-(h/2));

window.open("templates/sales/index.php?go=new_sale", '', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+tops+', left='+left);

Answer #5

এটি ভালো করে চেষ্টা করুন:

function popupwindow(url, title, w, h) {
  var left = (screen.width/2)-(w/2);
  var top = (screen.height/2)-(h/2);
  return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
} 

Answer #6

ফেসবুকের উপর ভিত্তি করে তবে পপআপের জন্য পর্যাপ্ত রুম (কিছু স্থান সহ) থাকলে ক্যালেন্ডারে ব্যবহারকারী এজেন্ট রেজেক্সের পরিবর্তে একটি মিডিয়া ক্যোয়ারী ব্যবহার করে, অন্যথায় পূর্ণ স্ক্রীনটি যায়। তবুও ট্যাব পপআপ নতুন ট্যাব হিসেবে খোলা থাকে।

function popupCenter(url, title, w, h) {
  const hasSpace = window.matchMedia(`(min-width: ${w + 20}px) and (min-height: ${h + 20}px)`).matches;
  const isDef = v => typeof v !== 'undefined';
  const screenX = isDef(window.screenX) ? window.screenX : window.screenLeft;
  const screenY = isDef(window.screenY) ? window.screenY : window.screenTop;
  const outerWidth = isDef(window.outerWidth) ? window.outerWidth : document.documentElement.clientWidth;
  const outerHeight = isDef(window.outerHeight) ? window.outerHeight : document.documentElement.clientHeight - 22;
  const targetWidth = hasSpace ? w : null;
  const targetHeight = hasSpace ? h : null;
  const V = screenX < 0 ? window.screen.width + screenX : screenX;
  const left = parseInt(V + (outerWidth - targetWidth) / 2, 10);
  const right = parseInt(screenY + (outerHeight - targetHeight) / 2.5, 10);
  const features = [];

  if (targetWidth !== null) {
    features.push(`width=${targetWidth}`);
  }

  if (targetHeight !== null) {
    features.push(`height=${targetHeight}`);
  }

  features.push(`left=${left}`);
  features.push(`top=${right}`);
  features.push('scrollbars=1');

  const newWindow = window.open(url, title, features.join(','));

  if (window.focus) {
    newWindow.focus();
  }

  return newWindow;
}

Answer #7

যদি আপনি বর্তমানে যে ফ্রেমে আছেন সেটিতে এটি কেন্দ্র করতে চান তবে আমি এই ফাংশনটি সুপারিশ করবো:

function popupwindow(url, title, w, h) {
    var y = window.outerHeight / 2 + window.screenY - ( h / 2)
    var x = window.outerWidth / 2 + window.screenX - ( w / 2)
    return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + y + ', left=' + x);
} 

ক্রেজি টিম এর উত্তরের অনুরূপ, কিন্তু window.top ব্যবহার করে না। এই ভাবে, উইন্ডোটি যদি একটি পৃথক ডোমেন থেকে আইফ্রেমে যুক্ত থাকে তবেও এটি কাজ করবে।


Answer #8
function fnPopUpWindow(pageId) {
     popupwindow("hellowWorld.php?id="+pageId, "printViewer", "500", "300");
}

function popupwindow(url, title, w, h) {
    var left = Math.round((screen.width/2)-(w/2));
    var top = Math.round((screen.height/2)-(h/2));
    return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, '
            + 'menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w 
            + ', height=' + h + ', top=' + top + ', left=' + left);
}
<a href="javascript:void(0);" onclick="fnPopUpWindow('10');">Print Me</a>

দ্রষ্টব্য: প্রস্থ এবং উচ্চতার সঠিক পূর্ণসংখ্যা পাওয়ার জন্য আপনাকে Math.round ব্যবহার করতে হবে।





javascript