[英]How to switch anchor Target based on window name
我想根據窗口名稱將Target =“ Popup”或Target =“ _ self”附加到錨點上。
我有兩個窗口:主題和彈出窗口。 基於當前窗口,我想在兩個窗口之一中顯示錨點結果。
從主題窗口:
<a href=”A” target=”Topic”>
Or
<a href=”B” target=”Popup”>
從彈出窗口
<a href=”A” target=”Topic”>
Or
<a href=”B” target=”_self”> //don’t show smaller Popup in bigger Popup window
IF語句也不起作用。 從未檢測到其他條件嗎?
HTML:
<p>OnClick link to <a href="MoreInformation.htm" onclick="isPopup();">More Information</a>.</p>
JavaScript的:
<script type="text/javascript">
var screenNam= window.name;
document.getElementById("winName").innerHTML=screenNam;
</script>
<script type="text/javascript">
var isPopup = function () {
if (winName = "Popup") {
var change = document.getElementsByTagName("a");
change.setAttribute("target", "_self");
}
else if (winName = "topic") {
var change = document.getElementsByTagName('a');
change.setAttribute('target', '_popup');
}
}
</script>
您有正確的想法,但需要糾正一些錯誤才能使它起作用。
注意更改。 比較兩個值時使用“ ==”。 並且getElementsByTagName返回一個集合。 因此,我們使用循環來修改每個錨點,例如change [i]。 並且未定義的變量winName已替換為screenNam。
您可以進一步改進此代碼,但是我認為這將使您朝着正確的方向邁進。
進一步閱讀: 在比較中使用哪個等於運算符有關系嗎?
var screenNam = window.name;
document.getElementById("winName").innerHTML = screenNam;
function isPopup() {
var i, change = document.getElementsByTagName('a');
for (i = 0; i < change.length; i++) {
if (screenNam == "Popup") {
change[i].setAttribute("target", "_self");
} else if (screenNam == "topic") {
change[i].setAttribute('target', '_popup');
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.