SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Let's build
Demo
http://hfz.io/cute-rescue/
Resource
http://hfz.io/cute-rescue/cute-rescue.zip
Konsep
Mengambil gambar dari Instagram berdasarkan tag
Menampilkan di HTML kita
Memberi user beberapa pilihan tipe gambar
Menambah fungsi "load more"
Mulai dengan index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
Boring things first
Di dalam tag head
<title>Cuteness to the Rescue!</title>
<link rel="stylesheet" href="style.css">
<script src="jquery.min.js"></script>
<script src="cute-rescue.js"></script>
Konten
Di dalam tag body
<div id="konten">
<header>
<img src="img/cute-rescue-logo.png" alt="Logo Cute Resc
ue">
</header>
</div>
Menu
<div id="menu">
<label for="pilih">Apa yang menurutmu imut?</label>
<select id="pilih" name="pilih">
<option value="kittenstagram">Kucing</option>
<option value="squirrelstagram">Tupai</option>
<option value="cupcakes">Cupcakes</option>
<option value="foodart">Food Art</option>
</select>
</div>
Lokasi foto
Mengapa div id="foto" kosong? Karena nanti diisi
menggunakan JavaScript
<div id="foto">
</div>
<div id="button-box">
<p id="loading">Loading...</p>
<button id="lagi" value="">Tambah lagi!</button>
</div>
JavaScript! (with jQuery)
cute-rescue.js
Kode jQuery untuk menandakan bahwa kode kita akan
dijalankan setelah dokumen HTML-nya ready.
$(document).ready(function() {
});
Fungsi utama
cute-rescue.js
Fungsi utama app kita
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/kittenstagram/media/recen
t?client_id=48cd0c2b9e2740d7acae40f8e5a4060f",
success: function(data) {
for (var i = 0; i < 10; i++) {
if(data.data[i] == undefined) {
break;
}
$("#foto").append("<a target="_blank" href="" + data.data
[i].link + ""><img src="" + data.data[i].images.low_resolution.url +
""></a>");
}
$("#lagi").val(data.pagination.next_url);
$("#loading").hide();
}
});
Meminta data ke Instagram
cute-rescue.js
Kita memakai API Instagram
Memanggil API tersebut menggunakan fungsi AJAX
Tiap penyedia API memakai aturan dan formatnya sendiri
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/kittenstagram/media/recent?
client_id=48cd0c2b9e2740d7acae40f8e5a4060f",
Sedikit tentang API
Instagram memberi jawaban berupa file JSON
JSON = teks biasa yang diformat sederhana
Lalu jawaban dari Instagram
diapakan?
cute-rescue.js
Sukses? Segera diproses
for: looping, dari 1 sampai 10
fungsi append, menambahkan data foto dari JSON ke
dalam div#foto
success: function(data) {
for (var i = 0; i < 10; i++) {
if(data.data[i] == undefined) {
break;
}
$("#foto").append("<a target="_blank" href="" + data.data[i].li
nk + ""><img src="" + data.data[i].images.low_resolution.url + ""></a>"
);
}
$("#lagi").val(data.pagination.next_url);
$("#loading").hide();
}
Append
cute-rescue.js
$("#foto").append("<a target='_blank'
href='" + data.data[i].link + "'><img
src='" + data.data[i].images.
low_resolution.url + "'></img></a>");
Data dalam JSON sangat banyak (waktu posting, likes,
komen, nama filter yang dipakai, dsb)
Kita ambil yang diperlukan: link, images.low_resolution.url,
pagination.next_url
data.data[i] adalah cara mengakses data tiap foto (total ada
10)
Load more!
cute-rescue.js
Memasukkan next_url ke dalam property "value" pada
button #lagi
next_url adalah alamat JSON untuk foto-foto berikutnya
Otomatis dikasih oleh Instagram! Thank you Instagram!
$("#lagi").val(data.pagination.next_url);
Load more ketika di-klik!
cute-rescue.js
$('#lagi').click(function() {
$("#loading").show();
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: $(this).val(),
success: function(data) {
for (var i = 0; i < 10; i++) {
if(data.data[i] == undefined) {
break;
}
$("#foto").append("<a target="_blank" href="" + data.
data[i].link + ""><img src="" + data.data[i].images.low_resolution.ur
l + ""></a>");
}
$("#lagi").val(data.pagination.next_url);
$("#loading").hide();
}
});
});
Bedanya hanya di: url: $(this).val()
Remember? Itu value yang dikasih Instagram di slide
sebelumnya
Dropdown ketika pilihan diganti
cute-rescue.js
var tag = $(this).val();
var url = "https://api.instagram.com/v1/tags/" + tag +
"/media/recent?
client_id=48cd0c2b9e2740d7acae40f8e5a4060f";
$("#foto").empty();
$('#pilih').change(function() {
$("#loading").show();
var tag = $(this).val();
var url = "https://api.instagram.com/v1/tags/" + tag + "/media/rece
nt?client_id=48cd0c2b9e2740d7acae40f8e5a4060f";
$("#foto").empty();
Loading message
cute-rescue.js
Memakai fungsi .show() dan .hide() untuk
menampilkan/menghilangkan
Tampilkan ketika
Pertama kali halaman dibuka
Tombol load more di-klik
Select dipilih yang baru
Sembunyikan setelah
AJAX sukses
$("#loading").show();
...
$("#loading").hide();
Styling
style.css
Mengakses id tertentu dengan #
Chrome extension!
Is very easy to make
Memakai HTML 5
Nama file wajib: popup.html, popup.js
Tambahan file pengenal: manifest.json
Icon ekstensi: icon.png (ukuran 19x19 pixels)
Pengenal ekstensi
manifest.json
{
"manifest_version": 2,
"name": "Cute Rescue",
"description": "This extension demonstrates a browser action with kit
tens.",
"version": "1.1",
"content_security_policy": "script-src 'self' https://api.instagram.c
om/v1/; object-src 'self'",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
Cara Instalasi
Buka menu > Tools > Extensions
Cek "Developer Mode" (kanan atas)
Klik "Load unpacked extension..."
Pilih direktori
Selesai!

Más contenido relacionado

Similar a MENYEDIAKAN FOTO IMUT SECARA BERKELANJUTAN

Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...
Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...
Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...Tobing Manuppak
 
54 hal-dasar-dasar-jquery
54 hal-dasar-dasar-jquery54 hal-dasar-dasar-jquery
54 hal-dasar-dasar-jqueryFajar Baskoro
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyAgus Haryanto
 
Web Programming - DB Galeri Foto
Web Programming - DB Galeri FotoWeb Programming - DB Galeri Foto
Web Programming - DB Galeri FotoDoni Andriansyah
 
Web Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerWeb Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerDoni Andriansyah
 
Modul edit template web dengan php dan my sq lx
Modul edit template web dengan php dan my sq lxModul edit template web dengan php dan my sq lx
Modul edit template web dengan php dan my sq lxsugiyanto gunadi
 
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbcreatorb dev
 
Desain web 2 kolom
Desain web 2 kolomDesain web 2 kolom
Desain web 2 kolomHaswi Haswi
 
7 langkah-membuat-modul-cms-lokomedia
7 langkah-membuat-modul-cms-lokomedia7 langkah-membuat-modul-cms-lokomedia
7 langkah-membuat-modul-cms-lokomediadhedhedea
 
Optimasi Website - Ubig.co.id
Optimasi Website - Ubig.co.idOptimasi Website - Ubig.co.id
Optimasi Website - Ubig.co.idFatkul Amri
 
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfMembuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfomuru
 

Similar a MENYEDIAKAN FOTO IMUT SECARA BERKELANJUTAN (20)

Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...
Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...
Belajar pemrograman web menggunakan dhtmlx dan php part 4 galeri gambar & upl...
 
54 hal-dasar-dasar-jquery
54 hal-dasar-dasar-jquery54 hal-dasar-dasar-jquery
54 hal-dasar-dasar-jquery
 
Jquery id
Jquery idJquery id
Jquery id
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan Volley
 
Web Programming - DB Galeri Foto
Web Programming - DB Galeri FotoWeb Programming - DB Galeri Foto
Web Programming - DB Galeri Foto
 
Web Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerWeb Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil Customer
 
Modul edit template web dengan php dan my sq lx
Modul edit template web dengan php dan my sq lxModul edit template web dengan php dan my sq lx
Modul edit template web dengan php dan my sq lx
 
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
 
Php acak
Php acakPhp acak
Php acak
 
Desain web 2 kolom
Desain web 2 kolomDesain web 2 kolom
Desain web 2 kolom
 
08 insert image
08 insert image08 insert image
08 insert image
 
JQUERY
JQUERYJQUERY
JQUERY
 
HTML, CSS, JavaScript
HTML, CSS, JavaScriptHTML, CSS, JavaScript
HTML, CSS, JavaScript
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
7 langkah-membuat-modul-cms-lokomedia
7 langkah-membuat-modul-cms-lokomedia7 langkah-membuat-modul-cms-lokomedia
7 langkah-membuat-modul-cms-lokomedia
 
Optimasi Website - Ubig.co.id
Optimasi Website - Ubig.co.idOptimasi Website - Ubig.co.id
Optimasi Website - Ubig.co.id
 
Php tutorial-17
Php tutorial-17Php tutorial-17
Php tutorial-17
 
Php CMS tutorial
Php CMS tutorialPhp CMS tutorial
Php CMS tutorial
 
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfMembuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
 
Web Stastis disertai dengan link-link
Web Stastis disertai dengan link-linkWeb Stastis disertai dengan link-link
Web Stastis disertai dengan link-link
 

MENYEDIAKAN FOTO IMUT SECARA BERKELANJUTAN