「Widget:人気ページ」の版間の差分

編集の要約なし
編集の要約なし
1行目: 1行目:
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="ja">
<html lang="ja">
<head>
<head>
  <!-- Required meta tags -->
   <meta charset="UTF-8">
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
    integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
   <title>chart</title>
   <title>chart</title>
    <style>
  <style>
      #chart_div {
    #chart_div {
        margin: 0;
      margin: 0;
        height: 100%;
      height: 100%;
        min-height: 38em;
      min-height: 38em;
        overflow: hidden;
      overflow: hidden;
      }
    }
      #chart_div .tab {
 
        margin: 0;
    #chart_div .tab {
        padding: 0;
      margin: 0;
        display: block;
      padding: 0;
        overflow: hidden;
      display: block;
      }
      overflow: hidden;
      #chart_div .tab li {
    }
        display: block;
 
        float: left;
    #chart_div .tab li {
        width: 50%;
      display: block;
        text-align: center;
      float: left;
        background-color: #00FF00;
      width: 50%;
      }
      text-align: center;
      #chart_div .tab a {
      background-color: #aca6e4;
        color: white;
    }
      }
 
      #chart_div .tab a.selected {
    #chart_div .tab a {
        font-weight: bold;
      color: white;
        cursor: text;
    }
      }
 
      #chart_div .tab a.selected:hover {
    #chart_div .tab a.selected {
        text-decoration: none;
      font-weight: bold;
       }
      cursor: text;
    }
 
    #chart_div .tab a.selected:hover {
      text-decoration: none;
    }
 
    #chart_div table {
      width: 100%;
      border-collapse: collapse;
      border-spacing: 0;
      margin: 1rem 0;
    }
 
    #chart_div .time {
      width: 3rem;
    }
 
    #chart_div .pageview {
      width: 2.5rem;
    }
 
    #chart_div td.time {
      text-align: right;
      font-size: 0.8rem;
    }
 
    #chart_div td.pageview {
      text-align: right;
      font-size: 0.8rem;
    }
 
    #chart_div td.page {
      text-overflow: ellipsis;
       max-width: 0;
      overflow: hidden;
      white-space: nowrap;
    }
 
    #chart_div th,
    #chart_div td {
      border: 1px solid #ddd;
    }
 
    #chart_div th.selectable {
      cursor: pointer;
    }


      #chart_div table {
    #chart_div th.selected {
        width: 100%;
       background-image: url("/resources/src/jquery.tablesorter.styles/images/sort_down.png");
        border-collapse: collapse;
      cursor: auto;
        border-spacing: 0;
      background-repeat: no-repeat;
        margin: 1rem 0;
      background-position: center right 0.2rem;
      }
    }
      #chart_div .time {
  </style>
        width: 3rem;
  <!--Load the AJAX API-->
      }
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
      #chart_div .pageview {
  <script type="text/javascript">
        width: 2.5rem;
    var period = "daily",
      }
      orderBy = "time";
      #chart_div td.time {
    prepareChart();
        text-align: right;
    function prepareChart() {
        font-size: 0.8rem;
      var sheetName =
      }
        period +
      #chart_div td.pageview {
        " " +
        text-align: right;
        (orderBy == "time" ? "longest time spent" : "most viewed");
        font-size: 0.8rem;
      var url =
      }
        "https://docs.google.com/spreadsheets/d/1niIGejZ1Czrkj07hGDPleVvk9AEBaDtjr55n63GluLw/gviz/tq?sheet=" +
      #chart_div td.page {
        sheetName +
        text-overflow: ellipsis;
        "&headers=15";
        max-width: 0;
        overflow: hidden;
        white-space: nowrap;
      }
      #chart_div th,
      #chart_div td {
        border: 1px solid #ddd;
      }
      #chart_div th.selectable {
        cursor: pointer;
       }
      #chart_div th.selected {
        background-image: url("/resources/src/jquery.tablesorter.styles/images/sort_down.png");
        cursor: auto;
        background-repeat: no-repeat;
        background-position: center right 0.2rem;
      }
    </style>
    <!--Load the AJAX API-->
    <script
      type="text/javascript"
      src="https://www.gstatic.com/charts/loader.js"
    ></script>
    <script type="text/javascript">
      var period = "daily",
        orderBy = "time";
      prepareChart();
      function prepareChart() {
        var sheetName =
          period +
          " " +
          (orderBy == "time" ? "longest time spent" : "most viewed");
        var url =
          "https://docs.google.com/spreadsheets/d/1niIGejZ1Czrkj07hGDPleVvk9AEBaDtjr55n63GluLw/gviz/tq?sheet=" +
          sheetName +
          "&headers=15";


        google.charts.load("current", { packages: ["corechart"] });
      google.charts.load("current", { packages: ["corechart"] });
        google.charts.setOnLoadCallback(drawChart);
      google.charts.setOnLoadCallback(drawChart);


        function drawChart() {
      function drawChart() {
          var query = new google.visualization.Query(url);
        var query = new google.visualization.Query(url);
          query.send(handleQueryResponse);
        query.send(handleQueryResponse);
        }
      }


        function handleQueryResponse(response) {
      function handleQueryResponse(response) {
          var data = response.getDataTable();
        var data = response.getDataTable();
          var rows = data.getNumberOfRows();
        var rows = data.getNumberOfRows();
          var html = [
        var html = [
            '<ul class="tab">' +
          '<ul class="tab">' +
              '<li><a id="hourly" class="' +
          '<li><a id="hourly" class="' +
              (period == "hourly" ? "selected" : "") +
          (period == "hourly" ? "selected" : "") +
              '" href="javascript: void(0);">リアルタイム</a></li>' +
          '" href="javascript: void(0);">リアルタイム</a></li>' +
              '<li><a id="daily" class="' +
          '<li><a id="daily" class="' +
              (period == "daily" ? "selected" : "") +
          (period == "daily" ? "selected" : "") +
              '" href="javascript: void(0);">一日</a></li>' +
          '" href="javascript: void(0);">一日</a></li>' +
              "</ul>" +
          "</ul>" +
              "<table><thead><tr>" +
          "<table><thead><tr>" +
              '<th id="header-time" class="time selectable ' +
          '<th id="header-time" class="time selectable ' +
              (orderBy == "time" ? "selected" : "") +
          (orderBy == "time" ? "selected" : "") +
              '">時間</th>' +
          '">時間</th>' +
              '<th id="header-pageview" class="pageview selectable ' +
          '<th id="header-pageview" class="pageview selectable ' +
              (orderBy == "pageview" ? "selected" : "") +
          (orderBy == "pageview" ? "selected" : "") +
              '">PV</th>' +
          '">PV</th>' +
              "<th>ページ</th>" +
          "<th>ページ</th>" +
              "</tr></thead><tbody>"
          "</tr></thead><tbody>"
          ];
        ];
          for (var i = 0; i < rows; i++) {
        for (var i = 0; i < rows; i++) {
            try {
          try {
              var title = data.getValue(i, 0).replace(" - 宇宙wiki", "");
            var title = data.getValue(i, 0).replace(" - 宇宙wiki", "");
              var time = Math.round(data.getValue(i, 1) / 60) + "分";
            var time = Math.round(data.getValue(i, 1) / 60) + "分";
              var pageview = data.getValue(i, 2);
            var pageview = data.getValue(i, 2);
              var url = "/w/" + encodeTitle(title);
            var url = "/w/" + encodeTitle(title);
              var anchor =
            var anchor =
                '<a href="' +
              '<a href="' +
                url +
              url +
                '" target="_parent" title="' +
              '" target="_parent" title="' +
                title +
              title +
                '">' +
              '">' +
                title +
              title +
                "</a>";
              "</a>";
              html.push(
            html.push(
                "<tr>" +
              "<tr>" +
                  '<td class="time">' +
              '<td class="time">' +
                  time +
              time +
                  "</td>" +
              "</td>" +
                  '<td class="pageview">' +
              '<td class="pageview">' +
                  pageview +
              pageview +
                  "</td>" +
              "</td>" +
                  '<td class="page">' +
              '<td class="page">' +
                  anchor +
              anchor +
                  "</td>" +
              "</td>" +
                  "</tr>"
              "</tr>"
              );
            );
            } catch (e) {
          } catch (e) {
              console.log([i, e]);
            console.log([i, e]);
            }
           }
           }
          html.push("</tbody></table>");
        }
          document.querySelector("#chart_div").innerHTML = html.join("\n");
        html.push("</tbody></table>");
        document.querySelector("#chart_div").innerHTML = html.join("\n");


          document
        document
            .getElementById("hourly")
          .getElementById("hourly")
            .addEventListener("click", function() {
          .addEventListener("click", function () {
              if (period == "hourly") return;
            if (period == "hourly") return;
              period = "hourly";
            period = "hourly";
              prepareChart();
            prepareChart();
            });
          });
          document
        document
            .getElementById("daily")
          .getElementById("daily")
            .addEventListener("click", function() {
          .addEventListener("click", function () {
              if (period == "daily") return;
            if (period == "daily") return;
              period = "daily";
            period = "daily";
              prepareChart();
            prepareChart();
            });
          });
          document
        document
            .getElementById("header-time")
          .getElementById("header-time")
            .addEventListener("click", function() {
          .addEventListener("click", function () {
              if (orderBy == "time") return;
            if (orderBy == "time") return;
              orderBy = "time";
            orderBy = "time";
              prepareChart();
            prepareChart();
            });
          });
          document
        document
            .getElementById("header-pageview")
          .getElementById("header-pageview")
            .addEventListener("click", function() {
          .addEventListener("click", function () {
              if (orderBy == "pageview") return;
            if (orderBy == "pageview") return;
              orderBy = "pageview";
            orderBy = "pageview";
              prepareChart();
            prepareChart();
            });
          });
        }
       }
       }
    }
    function encodeTitle(title) {
      return title
        .split("/")
        .map(function (path) {
          return encodeURIComponent(path);
        })
        .join("/");
    }
  </script>
</head>
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-12">
        <div id="chart_div"></div>
      </div>
    </div>
  </div>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
    integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
    crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
    integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
    crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"
    integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k"
    crossorigin="anonymous"></script>
</body>


      function encodeTitle(title) {
        return title
          .split("/")
          .map(function(path) {
            return encodeURIComponent(path);
          })
          .join("/");
      }
    </script>
  </head>
  <body>
    <div id="chart_div"></div>
  </body>
</html>
</html>

2020年9月5日 (土) 16:24時点における版

<!DOCTYPE html> <html lang="ja">

<head>

 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
   integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
 <title>chart</title>
 <style>
   #chart_div {
     margin: 0;
     height: 100%;
     min-height: 38em;
     overflow: hidden;
   }
   #chart_div .tab {
     margin: 0;
     padding: 0;
     display: block;
     overflow: hidden;
   }
   #chart_div .tab li {
     display: block;
     float: left;
     width: 50%;
     text-align: center;
     background-color: #aca6e4;
   }
   #chart_div .tab a {
     color: white;
   }
   #chart_div .tab a.selected {
     font-weight: bold;
     cursor: text;
   }
   #chart_div .tab a.selected:hover {
     text-decoration: none;
   }
   #chart_div table {
     width: 100%;
     border-collapse: collapse;
     border-spacing: 0;
     margin: 1rem 0;
   }
   #chart_div .time {
     width: 3rem;
   }
   #chart_div .pageview {
     width: 2.5rem;
   }
   #chart_div td.time {
     text-align: right;
     font-size: 0.8rem;
   }
   #chart_div td.pageview {
     text-align: right;
     font-size: 0.8rem;
   }
   #chart_div td.page {
     text-overflow: ellipsis;
     max-width: 0;
     overflow: hidden;
     white-space: nowrap;
   }
   #chart_div th,
   #chart_div td {
     border: 1px solid #ddd;
   }
   #chart_div th.selectable {
     cursor: pointer;
   }
   #chart_div th.selected {
     background-image: url("/resources/src/jquery.tablesorter.styles/images/sort_down.png");
     cursor: auto;
     background-repeat: no-repeat;
     background-position: center right 0.2rem;
   }
 </style>
 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
 <script type="text/javascript">
   var period = "daily",
     orderBy = "time";
   prepareChart();
   function prepareChart() {
     var sheetName =
       period +
       " " +
       (orderBy == "time" ? "longest time spent" : "most viewed");
     var url =
       "https://docs.google.com/spreadsheets/d/1niIGejZ1Czrkj07hGDPleVvk9AEBaDtjr55n63GluLw/gviz/tq?sheet=" +
       sheetName +
       "&headers=15";
     google.charts.load("current", { packages: ["corechart"] });
     google.charts.setOnLoadCallback(drawChart);
     function drawChart() {
       var query = new google.visualization.Query(url);
       query.send(handleQueryResponse);
     }
     function handleQueryResponse(response) {
       var data = response.getDataTable();
       var rows = data.getNumberOfRows();
       var html = [

'

    ' + '
  • <a id="hourly" class="' + (period == "hourly" ? "selected" : "") + '" href="javascript: void(0);">リアルタイム</a>
  • ' + '
  • <a id="daily" class="' + (period == "daily" ? "selected" : "") + '" href="javascript: void(0);">一日</a>
  • ' + "

" + "

<thead>" + '' + '' + "" + "</thead><tbody>" ]; for (var i = 0; i < rows; i++) { try { var title = data.getValue(i, 0).replace(" - 宇宙wiki", ""); var time = Math.round(data.getValue(i, 1) / 60) + "分"; var pageview = data.getValue(i, 2); var url = "/w/" + encodeTitle(title); var anchor = '<a href="' + url + '" target="_parent" title="' + title + '">' + title + "</a>"; html.push( "" + '" + '" + '" + "" ); } catch (e) { console.log([i, e]); } } html.push("</tbody>
時間PVページ
' +
             time +
"
' +
             pageview +
"
' +
             anchor +
"

");

       document.querySelector("#chart_div").innerHTML = html.join("\n");
       document
         .getElementById("hourly")
         .addEventListener("click", function () {
           if (period == "hourly") return;
           period = "hourly";
           prepareChart();
         });
       document
         .getElementById("daily")
         .addEventListener("click", function () {
           if (period == "daily") return;
           period = "daily";
           prepareChart();
         });
       document
         .getElementById("header-time")
         .addEventListener("click", function () {
           if (orderBy == "time") return;
           orderBy = "time";
           prepareChart();
         });
       document
         .getElementById("header-pageview")
         .addEventListener("click", function () {
           if (orderBy == "pageview") return;
           orderBy = "pageview";
           prepareChart();
         });
     }
   }
   function encodeTitle(title) {
     return title
       .split("/")
       .map(function (path) {
         return encodeURIComponent(path);
       })
       .join("/");
   }
 </script>

</head>

<body>

 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
   integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
   crossorigin="anonymous"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
   integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
   crossorigin="anonymous"></script>
 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"
   integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k"
   crossorigin="anonymous"></script>

</body>

</html>