如何在应用程序内使用网络浏览器制作 Django link 跳跃游戏?

How to make Django link jumping game with a web browser inside the app?

我正在尝试构建一个 Django 应用程序,它是一个在线 link 跳跃游戏,类似于 WikiGame 但不是特定于维基百科站点。在该游戏中,您访问一个网站,用户在一个网站上跳转 link 秒,然后尝试进入另一个目标网页,同时玩家统计信息(例如网页点击次数 jumped/number 更新为玩游戏时的状态栏。 为了实现这个游戏,django 应用程序需要 运行 以及类似于 WikiGame 的普通网络浏览器进程。如果这是 ObjC 中的移动应用程序,这可能类似于实现 UIWebView。 Django 有做类似事情的包吗?

理想情况下,我想要一个在访问 myapp.com 时会在 window 内启动浏览器并将用户带到 google.com 和 url 将是 myapp.com/http://google.com/ (perahps the slashes would be decoded out) My url.py looks like this which should allow me to pass any website URL into it and then pass this argument into whatever django webview approaches you guys can suggest to me. Thanks for any input. Basically right now, I just want to get something working where if I enter into the URL: myapp.com/http://www.google.com 它应该在我的应用程序选项卡中显示 google 。解决这个问题的最佳方法是什么?

 url(r'^(?P<url_param>[a-zA-Z0-9_.-%/]*)/$', views.webview, name='anywebsiteinapp')

可能您需要在模板中使用 iframe tag,如下所示:

 <iframe src="http://www.google.com/custom"></iframe> 

您需要做的第二件事是将您的参数从您的视图传递到您的模板中:

def webview(request, url_param):
    context = { "my_url": url_param }
    return render(request, 'myapp/mytemplate.html', context)

然后显示在mytemplate.html

<iframe src="{{ my_url }}"></iframe>

虽然有些网站不允许您通过 iframe 显示其内容。 http://www.google.com 就是其中之一。它有 X-Frame-Options: SAMEORIGIN HTTP-header 防止页面被嵌入到另一个网站。