Skip to content

Instantly share code, notes, and snippets.

@ykyk1218
Last active March 28, 2016 06:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ykyk1218/f7d6018f9a4c3455f9de to your computer and use it in GitHub Desktop.
Save ykyk1218/f7d6018f9a4c3455f9de to your computer and use it in GitHub Desktop.
javascriptを使ったSEO対策まとめ ref: http://qiita.com/ykyk1218/items/78ed3bce0371a4ee219c
history.pushState(state, title, url)
history.replaceState(state, title, url)
$(window).on('popstate', function(e) { <ブラウザの戻る、進むで処理したい内容> }
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.2.min.js" integrity="sha256-36cp2Co+/62rEAAYHLmRCPIych47CvdM+uTBJwSzWjI=" crossorigin="anonymous"></script>
<script src="./purl.js"></script>
<script>
var page = $.url().param('page')
if(!page) {
page = 1
}
$(document).ready(function() {
$.ajax({
type: "GET",
url: "https://qiita.com/api/v2/items?page="+ page +"&per_page=20",
dateType: "json",
success: function(msg) {
html = ""
for(var i=0; i<msg.length; i++) {
html = html + msg[i].title + "<br>"
}
$("#qiita").html(html)
}
});
$("#next").on('click', function(e) {
e.preventDefault
page = parseInt(page) + 1;
loadData(page)
});
//ブラウザ操作
$(window).on('popstate', function(e) {
if (!e.originalEvent.state) return
//$.url()で今のURLが取れるはずだけど、ブラウザバッグだと
      //うまくとれない
//location.pathnameだとURLが取れるのでこれを引数で渡す
var url = $.url(location.pathname)
var currentPage = url.param('page');
if (currentPage == page) {
return;
}else{
if(!currentPage) {
page = 1
}else{
page = currentPage
}
loadData(page)
}
});
});
function loadData(page) {
console.log(page)
//url書き換え
history.pushState(page, "Qiita" + page + "ページ目", "?page=" + page);
$.ajax({
type: "GET",
url: "https://qiita.com/api/v2/items?page="+ page +"&per_page=20",
dateType: "json",
success: function(msg) {
html = ""
for(var i=0; i<msg.length; i++) {
html = html + msg[i].title + "<br>"
}
$("#qiita").html(html)
}
});
}
</script>
</head>
<body>
<div id="qiita"></div>
<div><a id="next" href="javascript:;">次へ</a></div>
</body>
</html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.2.min.js" integrity="sha256-36cp2Co+/62rEAAYHLmRCPIych47CvdM+uTBJwSzWjI=" crossorigin="anonymous"></script>
<script src="./purl.js"></script>
<script>
var page = $.url().param('page')
if(!page) {
page = 1
}
$(document).ready(function() {
$.ajax({
type: "GET",
url: "https://qiita.com/api/v2/items?page="+ page +"&per_page=20",
dateType: "json",
success: function(msg) {
html = ""
for(var i=0; i<msg.length; i++) {
html = html + msg[i].title + "<br>"
}
$("#qiita").html(html)
}
});
$("#next").on('click', function(e) {
e.preventDefault
page = parseInt(page) + 1;
loadData(page)
});
//ブラウザ操作
$(window).on('popstate', function(e) {
if (!e.originalEvent.state) return
//$.url()で今のURLが取れるはずだけど、ブラウザバッグだと
      //うまくとれない
//location.pathnameだとURLが取れるのでこれを引数で渡す
var url = $.url(location.pathname)
var currentPage = url.param('page');
if (currentPage == page) {
return;
}else{
if(!currentPage) {
page = 1
}else{
page = currentPage
}
loadData(page)
}
});
});
function loadData(page) {
console.log(page)
//url書き換え
history.pushState(page, "Qiita" + page + "ページ目", "?page=" + page);
$.ajax({
type: "GET",
url: "https://qiita.com/api/v2/items?page="+ page +"&per_page=20",
dateType: "json",
success: function(msg) {
html = ""
for(var i=0; i<msg.length; i++) {
html = html + msg[i].title + "<br>"
}
$("#qiita").html(html)
}
});
}
</script>
</head>
<body>
<div id="qiita"></div>
<div><a id="next" href="javascript:;">次へ</a></div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment