2014-06-17 31 views
7

Tôi đang sử dụng instafeed.js để hiển thị hình ảnh instagram mới nhất của tôi trên trang web của mình. Nhưng theo mặc định, liên kết hình ảnh được mở trong cùng một cửa sổ. Đây là mã JS: https://github.com/stevenschobert/instafeed.js/blob/master/instafeed.js biết thêm thông tin: http://instafeedjs.comMở liên kết trong cửa sổ mới trong instafeed.js

Tôi cố gắng để mở các liên kết trong một cửa sổ mới bằng cách sử dụng thủ thuật này:

<script> 
$(function(){ 
    $("#instafeed a").attr("target","_blank"); 
}); 
</script> 

Nhưng thủ thuật này không hoạt động trong tình huống này.

Bất kỳ giải pháp nào? Cảm ơn.

+3

tôi đã không sử dụng instafeed trước đó, nhưng bạn không được dùng tùy chọn mẫu? 'template: '' ' – Jop

+0

@Jop Cảm ơn, nhưng tôi không biết tại sao tùy chọn này không hoạt động. Cuối cùng tôi đã thêm 'anchor.target = '_blank';' vào tệp JS và bây giờ các liên kết được mở trong cửa sổ mới. – Kasra

+1

@Kasra - bạn không bao giờ nên sửa đổi một tệp nguồn thư viện trực tiếp hay bạn đã bao giờ phải ... Steven và Jop đã cung cấp cho bạn câu trả lời đúng bằng cách sử dụng tùy chọn templating có sẵn với plugin. Thử nghiệm và xác nhận làm việc hoàn hảo. – zigojacko

Trả lời

0

Gotcha! Theo logic của Kasra, tìm ra giải pháp:

Trong tệp instafeed.js của bạn, hãy xem xung quanh dòng 177 và thêm anchor.setAttribute('target', '_blank'); hoạt động đẹp mắt.

8

Cách tốt nhất để làm điều đó, sẽ được sử dụng tùy chọn template:

var feed = new Instafeed({ 
    template: '<a href="{{link}}" target="_blank"><img src="{{image}}" /></a>' 
    // other settings... 
}); 

Bạn không nên cần phải sửa đổi các tập tin nguồn trực tiếp.

Để biết thêm thông tin về cách hoạt động của mẫu, hãy kiểm tra tài liệu trên templating.

4

tôi cập nhật các liên kết trong khi chức năng

jQuery(document).ready(function($){ 
    var loadButton = $('#load-more'); 
    var feed = new Instafeed({ 
    get: 'user', 
    userId: xxx, 
    accessToken: 'xxxx', 
    limit:160, 
    after: function() { 
     $("#instafeed a").attr("target","_blank"); 
     // disable button if no more results to load 
     if (!this.hasNext()) { 
     loadButton.attr('disabled', 'disabled'); 
     } 
    } 
    });  

    $('#load-more').on('click', function() { 
    feed.next(); 
    }); 
    feed.run(); 
}); 
Các vấn đề liên quan