簡體   English   中英

如何根據窗口名稱切換錨定目標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM