ijd8.COM

A simple blog for an old Ma Nong.

Facebox 跨域打开页面

Permalink

Facebox 是一款基于jQuery 的简洁漂亮的弹出窗口。它可以在窗口里显示一个div 的内容,也可以显示图片,还有加载一个页面的内容,个人有时需要加载不同域名的页面,Facebox 没有解决这个跨域的问题。

尝试一下修改facebox.js文件,找到

JavaScript: facebox Remote get
1
2
3
function fillFaceboxFromAjax(href, klass) {
  $.facebox.jqxhr = $.get(href, function(data) { $.facebox.reveal(data, klass) })
}

替换为

JavaScript: facebox Remote ajax
1
2
3
function fillFaceboxFromAjax(href, klass) {
  $.facebox.jqxhr = $.ajax({url: href, dataType: 'jsonp', success: function(response) { $.facebox.reveal(response.data, klass) }})
  }

剩下就是需要在调用的页面输出JSON 内容,如用python tornado 实现输出

Python: python tornado json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import json

class RemoteHandler(tornado.web.RequestHandler):
    def get(self):
        rep_code = 200
        rep_data = 'your page string'
        
        data = {'code': rep_code, 'data': rep_data}
        
        callback = self.get_argument("callback")
        if callback:
            self.write('%s(%s)' % (callback, json.dumps(data)))
        else:
            self.write(json.dumps(data))

Facebox http://defunkt.io/facebox/ github https://github.com/defunkt/facebox

Write a Comment

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.16.7 Processed in 0ms