window.open සියලුම බ්රව්සර්වල නව ටැබ් එකක උත්පතන විශ්වාසදායක ලෙස විවෘත කළ නොහැක
විවිධ බ්රව්සර් වල හැසිරීම window.open විවිධ ආකාරවලින් ක්රියාත්මක කරයි, විශේෂයෙන් පරිශීලකයාගේ බ්රව්සර් මනාපයන් සම්බන්ධයෙන්. window.openඉන්ටර්නෙට් එක්ස්ප්ලෝරර්, ෆයර්ෆොක්ස් සහ ක්රෝම් හරහා එකම හැසිරීම සත්යයක් වනු ඇතැයි අපේක්ෂා කළ නොහැක , මන්ද ඔවුන් පරිශීලකයාගේ බ්රව්සර් මනාපයන් හසුරුවන විවිධ ක්රම නිසාය.
උදාහරණයක් ලෙස, ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (11) පරිශීලකයින්ට නව කවුළුවක හෝ නව ටැබ් එකක උත්පතන විවෘත කිරීමට තෝරා ගත හැකිය , ක්වෙන්ටින්ගේ පිළිතුරෙහි සඳහන් කර ඇති පරිදි, ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 11 පරිශීලකයින්ට නිශ්චිත ආකාරයකින් උත්පතන විවෘත කිරීමට බල කළ නොහැක .window.open
ෆයර්ෆොක්ස් (29) භාවිතා කරන්නන් සඳහා, භාවිතා window.open(url, '_blank') කිරීම ඔවුන්ගේ බ්රව්සරයේ ටැබ් මනාපයන් මත රඳා පවතී, නමුත් පළල සහ උස සඳහන් කිරීමෙන් නව කවුළුවක උත්පතන විවෘත කිරීමට ඔබට තවමත් බල කළ හැකිය (පහත “ක්රෝම් ගැන කුමක් ද?” කොටස බලන්න).
නිරූපණය
ඔබගේ බ්රව්සරයේ සැකසුම් වෙත ගොස් නව කවුළුවක උත්පතන විවෘත කිරීමට එය වින්යාස කරන්න.
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (11)


පරීක්ෂණ පිටුව
ඉහත පෙන්වා ඇති පරිදි නව කවුළුවක උත්පතන විවෘත කිරීම සඳහා ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (11) සැකසූ පසු, පරීක්ෂා කිරීමට පහත පරීක්ෂණ පිටුව භාවිතා කරන්න window.open:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814');">
<code>window.open(url)</code>
</button>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814', '_blank');">
<code>window.open(url, '_blank')</code>
</button>
</body>
</html>
උත්පතන විවෘත වන්නේ නව කවුළුවක මිස නව පටිත්තක නොවන බව නිරීක්ෂණය කරන්න .
ෆයර්ෆොක්ස් (29) හි ඇති ටැබ් මනාපයන් නව කවුළුවලට සකසා ඇති ඉහත ස්නිපෙට් පරීක්ෂා කළ හැකි අතර එම ප්රති .ලම බලන්න.
Chrome ගැන කුමක් කිව හැකිද? එය window.openඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (11) සහ ෆයර්ෆොක්ස් (29) ට වඩා වෙනස් ලෙස ක්රියාත්මක කරයි.
මට 100% විශ්වාස නැත, නමුත් 34.0.1847.131 mනව කවුළුවක හෝ නව ටැබ් එකක (ෆයර්ෆොක්ස් සහ ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් වැනි) උත්පතන විවෘත කළ යුතුද නැද්ද යන්න තෝරා ගැනීමට පරිශීලකයාට භාවිතා කළ හැකි කිසිදු සැකසුමක් ක්රෝම් (අනුවාදය ) නොපෙනේ. ඇත). උත්පතන කළමනාකරණය සඳහා මම ක්රෝම් ප්රලේඛනය පරික්ෂා කළ නමුත් එහි එවැනි දෙයක් ගැන කිසිවක් සඳහන් කර නැත.
එසේම, නැවත වරක්, විවිධ බ්රව්සර් වෙනස් ආකාරයකින් හැසිරීම ක්රියාත්මක කරන බව පෙනේ window.open . ක්රෝම් සහ ෆයර්ෆොක්ස් හි, පළල සහ උස නියම කිරීමෙන් පරිශීලකයෙකු ෆයර්ෆොක්ස් (29) නව ටැබ් එකක නව කවුළු විවෘත කිරීමට සකසා ඇති විට පවා උත්පතන බල කිරීමට බල කෙරෙනු ඇත ( ජාවාස්ක්රිප්ට් සඳහා පිළිතුරු වල සඳහන් පරිදි නව කවුළුවක විවෘත වේ, ටැබ් නොවේ ) :
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814', 'test', 'width=400, height=400');">
<code>window.open(url)</code>
</button>
</body>
</html>
කෙසේ වෙතත්, ඉහත සඳහන් කේත ස්නිපටය සෑම විටම ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 11 හි නව ටැබ් එකක් විවෘත කරනු ඇත, පරිශීලකයින් ඔවුන්ගේ බ්රව්සර් මනාපයන් ලෙස ටැබ් සකසන්නේ නම්, පළල සහ උස සඳහන් නොකිරීම පවා නව කවුළු උත්පතන සඳහා බල කරනු ඇත.
එබැවින් window.openක්රෝම් හි හැසිරීම onclickසිදුවීමක් භාවිතා කරන විට නව ටැබ් එකක උත්පතන විවෘත කිරීම, බ්රව්සර් කොන්සෝලයෙන් භාවිතා කරන විට ඒවා නව කවුළුවල විවෘත කිරීම ( වෙනත් පුද්ගලයින් විසින් සටහන් කර ඇති පරිදි ) සහ ඒවා නව කවුළුවල විවෘත කිරීම පළල සහ උසකින් නියම කර ඇත.
සාරාංශය
window.open පරිශීලකයන්ගේ බ්රව්සර් මනාපයන් සම්බන්ධයෙන් විවිධ බ්රව්සර් වෙනස් ලෙස හැසිරීම ක්රියාත්මක කරයි . window.openඉන්ටර්නෙට් එක්ස්ප්ලෝරර්, ෆයර්ෆොක්ස් සහ ක්රෝම් හරහා එකම හැසිරීම සත්යයක් වනු ඇතැයි අපේක්ෂා කළ නොහැක , මන්ද ඔවුන් පරිශීලකයාගේ බ්රව්සර් මනාපයන් හසුරුවන විවිධ ක්රම නිසාය.
අමතර කියවීම