[英]I have done port forwarding private to public IP BUT in public IP IT will not render the geoip.js but it will work fine on local address
HERE IS My Code What I Have done I have done port forwarding private to public IP BUT in public IP IT will not render the geoip.js but it will work fine on local address 这是我的代码我所做的事情我已经完成了将端口转发到公共IP IT中的私有到公共IP BUT的操作,不会渲染geoip.js,但可以在本地地址上正常工作
http://61.12.124.234:8080/zipgrocery/home(my public ip)
it will not render geoip.js and work fine in local address. 它不会呈现geoip.js并在本地地址上正常工作。 geoip.js give the city name and runtime when user get login
当用户登录时,geoip.js给出城市名称和运行时间
basepage.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-responsive.css">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/jquery.toastmessage.css"
type="text/css" media="all" />
<link rel="stylesheet" href="css/NewHomePage_style.css">
<!-- sliderman.js -->
<script type="text/javascript" src="js/sliderman.1.3.6.js"></script>
<link rel="stylesheet" type="text/css" href="css/sliderman.css" />
<!-- /sliderman.js -->
<script type="text/javascript" src="//j.maxmind.com/js/geoip.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.toastmessage.js"></script>
<script type="text/javascript" src="js/jquery.tabSlideOut.v1.3.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.18.custom.min.js"></script>
<script type="text/javascript" src="js/zipjs.js"></script>
<script type="text/javascript" src="js/jquery.inputhints.min.js"></script>
<script type="text/javascript" src="js/jquery.nivo.slider.pack.js"></script>
<script language="javascript" src="/tweet/jquery.tweet.js"
type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
/* $("#city-dropdown").click(function(){
$("#user-acc-drop").hide();
$("#drop").slideToggle();
});
*/
$("#city-dropdown-text").val(geoip_city())
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
$("#user-acc").click(function(){
$("#drop").hide();
$("#user-acc-drop").slideToggle();
});
$("#pageHolder").click(function(){
closeMenu();
});
$(document).bind('keydown', function(e) {
if (e.which == 27) {
closeMenu();
}
});
$("#city-dropdown-text").click(function() {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});
$("#city-dropdown-text").keyup(function(e) {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});
$('#city-dropdown-text-autocomplete').live('click', function() {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});
documentReady()
});
function removeClass(){
$("#drop li").removeClass("current");
}
function closeMenu(){
$("#drop").hide();
$("#user-acc-drop").hide();
}
</script>
</head>
<body>
<div class="row-fluid mainContain">
<div class="span12 head">
<div class="span3 logoo">
<a href="#" wicket:id="lnkHomeIcon"><img
src="images/zip-grocery-logo.png" /></a>
</div>
<div class="span6 navBar ">
<div class="span1 menu">GET THE APP!</div>
<div class="span1 menu3" wicket:id="lnkRegister">SIGN UP</div>
<div class="span1 menu2" id="" wicket:id="lnkLogin">LOGIN</div>
<div class="span1 menu2" wicket:id="lnkUser"
style="pointer-events: none;">
<span class="link-user" wicket:id="lbUser"></span>
</div>
<span class="user-acc" id="user-acc" wicket:id="lnkuseracc">
<img src="images/imgArrow.png" />
<ul id="user-acc-drop" class="arrow_box2"
style="display: none; position: absolute;">
<li wicket:id="lnkSettings"><a href="">Setting</a></li>
<li wicket:id="lnkLogout"><a href="">Logout</a></li>
</ul>
</span> <span class="span5 text" id="city-dropdown"> <input
type="text" wicket:id="txtzipcode" id="city-dropdown-text"
class="home-search-zip"> <!-- <span wicket:id="currentLoc" class="city-name">HOBOKEN, NJ(7030)</span>
<img src="images/imgArrow.png"/>
<ul id="drop" class="arrow_box">
<li wicket:id="Hobokencity">Hoboken, NJ</li>
<li wicket:id="JerseyCity">Jersey City, NJ</li>
<li wicket:id="MidtownNYC">Midtown, NYC</li>
</ul>-->
</span>
</div>
</div>
<!--
repalce part by pages
-->
<div id="pageHolder">
<wicket:child></wicket:child>
</div>
<div wicket:id="login">
<div wicket:id="loginPanel" />
</div>
<!-- footer start -->
<div class="span12 footer_bar">
<div class="span12 footer_Pad">
<div class="span12 browse_by">Browse By</div>
<div class="span12 city">City</div>
<table>
<tbody>
<tr>
<td><span class="foot-link" wicket:id="lnkHoboken">Hoboken,
NJ</span></td>
<td><span class="foot-link" wicket:id="lnkJersey">Jersey
City, NJ</span></td>
<td><span class="foot-link" wicket:id="lnkMidtown">Midtown,
NYC</span></td>
</tr>
</tbody>
</table>
<hr>
<div class="span12 cuisine">Cuisine / Specialty Store</div>
<table class="cuisineStore">
<tbody>
<tr>
<td>Asian</td>
<td>Italian</td>
<td>Pharmacy</td>
<td>Groceries</td>
<td>Pizzeria</td>
</tr>
<tr>
<td>BBQ</td>
<td>Deli</td>
<td>Liqour Store</td>
<td>Middle Eastern</td>
<td></td>
</tr>
</tbody>
</table>
<hr>
<div class="span12 links_section">
<div class="span2 links_header">
<a href="" wicket:id="lnkAbout">About Us</a>
</div>
<div class="span2 links_header add">
<a href="">Advertise Here</a>
</div>
<div class="span2 links_header getList">
<a href="">Get Listed</a>
</div>
<div class="span2 links_header work-with">
<a href="" wicket:id="lnkCareers">Work With Us</a>
</div>
<div class="span2 links_header faq">
<a href="" wicket:id="lnkFaq">FAQ</a>
</div>
<div class="span2 links_header contac-us">
<a href="" wicket:id="lnkContactUs ">Contact Us</a>
</div>
</div>
<div class="span12 second_row">
<div class="span3 secondrow_containt">
<a href="">All Rights reserved to ZipGrocery.</a>
</div>
<div class="span3 secondrow_containt2">
<a href="">Privacy Policy.</a>
</div>
<div class="span2 secondrow_containt3">
<a href="">Terms and Conditions.</a>
</div>
</div>
</div>
</div>
<!-- footer end -->
</div>
</body>
</html>
basepage.java
package com.zipgrocery.pages;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import com.visural.wicket.component.dialog.Dialog;
import com.zipgrocery.ZipSession;
import com.zipgrocery.data.Zip;
import com.zipgrocery.panels.LoginPanel;
public class ZBasePage extends WebPage{
/**
*
*/
private static final long serialVersionUID = -4591920443207458425L;
private AjaxFallbackLink lnkLogin;
private Link<String> lnkLogout;
private Link<String> lnkOrders;
private AjaxFallbackLink lnkRegister;
private Link<String> lnkUser;
private Link<String> lnkSettings;
private Link<String> lnkMerchantEdit;
private Link<String> lnkMerchantLogout;
private Link<String> lnkAbout;
private Link<String> currentcity;
private Dialog loginBox;
private LoginPanel loginPanel;
private AjaxFallbackLink lnkHoboken,lnkJersey,lnkMidtown;
private AjaxFallbackLink Hobokencity,JerseyCity,MidtownNYC;
private List<Component> componentList = new ArrayList<Component>();
private String zipcode="07030";
public ZBasePage() {
//navigation for logo
add(new Link<String>("lnkHomeIcon") {
@Override
public void onClick() {
PageParameters params = new PageParameters();
params.set("zipcode", ZipSession.get().getAttribute("currentZip"));
setResponsePage(ZHomePage.class, params);
}
});
/*render all location or zip
List<String> zoneName=Zip.getZoneNames();
for(int i=0;i<zoneName.size();i++){
System.out.println(zoneName.get(i));
}*/
// add search field
final AutoCompleteTextField<String> txtZipcode = new AutoCompleteTextField<String>(
"txtzipcode", new Model<String>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
return getZipcode();
}
@Override
public void setObject(String object) {
setZipcode(object);
}
}) {
private static final long serialVersionUID = 1L;
@Override
protected Iterator<String> getChoices(String input) {
return Zip.getUniqueZipsAndZones(input).iterator();
}
};
add(txtZipcode)
;
//navigation links edit by
lnkAbout = new Link<String>("lnkAbout") {
@Override
public void onClick() {
setResponsePage(FaqPage.class);
}
@Override
public boolean isVisible() {
return !ZipSession.get().MerchantisValid();
}
};
lnkAbout.setOutputMarkupPlaceholderTag(true);
add(lnkAbout);
/* final Model<String> lnkuseraccmodel = new Model<String>();
final WebMarkupContainer lnkuseracc=new WebMarkupContainer("lnkuseracc",lnkuseraccmodel);
lnkuseracc.setOutputMarkupId(true);
lnkuseracc.setOutputMarkupPlaceholderTag(true);
add(lnkuseracc);
*/
final WebMarkupContainer lnkuseracc = new WebMarkupContainer("lnkuseracc");
lnkuseracc.setOutputMarkupPlaceholderTag(true);
add(lnkuseracc);
if(ZipSession.get().getCustomer() != null)
lnkuseracc.setVisible(true);
else
lnkuseracc.setVisible(false);
lnkUser = new Link<String>("lnkUser") {
@Override
public void onClick() {
}
};
lnkUser.setOutputMarkupId(true);
add(lnkUser);
//current user
lnkUser.add(new Label("lbUser", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
if(lnkuseracc!=null && ZipSession.get().getCustomer() != null)
lnkuseracc.setVisible(true);
return ZipSession.get().getCustomer() == null ? "" : ZipSession.get().getCustomer().getEmail();
}
}).setEscapeModelStrings(false));
lnkUser.setOutputMarkupId(true);
//current city
/*currentcity.add(new Label("currentcity", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
return " ";
}
}).setEscapeModelStrings(false));
currentcity.setOutputMarkupId(true);
add(currentcity);*/
//logout link
lnkLogout = new Link<String>("lnkLogout") {
@Override
public void onClick() {
ZipSession.get().invalidate();
setResponsePage(ZHomePage.class);
}
@Override
public boolean isVisible() {
return ZipSession.get().isValid();
}
};
lnkLogout.setOutputMarkupId(true);
lnkLogout.setOutputMarkupPlaceholderTag(true);
lnkuseracc.add(lnkLogout);
lnkSettings = new Link<String>("lnkSettings") {
@Override
public void onClick() {
setResponsePage(CustomerProfilePage.class);
}
@Override
public boolean isVisible() {
return ZipSession.get().isValid();
}
};
lnkSettings.setOutputMarkupId(true);
lnkSettings.setOutputMarkupPlaceholderTag(true);
lnkuseracc.add(lnkSettings);
/*login code start here */
lnkLogin = new AjaxFallbackLink("lnkLogin") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
ajaxRequestTarget.add(loginPanel);
ajaxRequestTarget.add(loginBox);
loginBox.open(ajaxRequestTarget);
ajaxRequestTarget.appendJavaScript("documentReady()");
}
@Override
public boolean isVisible() {
return !ZipSession.get().isValid();
}
};
add(lnkLogin);
lnkRegister = new AjaxFallbackLink<String>("lnkRegister") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
setResponsePage(CustomerProfilePage.class);
}
@Override
public boolean isVisible() {
return !ZipSession.get().isValid();
}
};
add(lnkRegister);
//login dialog
loginBox = new Dialog("login");
loginPanel = new LoginPanel("loginPanel", loginBox, getRefreshables());
loginPanel.setOutputMarkupId(true);
loginBox.add(loginPanel);
add(loginBox);
/*login code end here*/
/*footer menu code*/
lnkHoboken = new AjaxFallbackLink("lnkHoboken") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Hoboken");
}
};
add(lnkHoboken);
lnkJersey = new AjaxFallbackLink("lnkJersey") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Jersey City");
}
};
add(lnkJersey);
lnkMidtown = new AjaxFallbackLink("lnkMidtown") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Midtown NYC");
}
};
add(lnkMidtown);
//contact us link
add(new Link<String>("lnkContactUs") {
@Override
public void onClick() {
setResponsePage(ContactUsPage.class);
}
});
//end of contact us
//faq link
add(new Link<String>("lnkFaq") {
@Override
public void onClick() {
setResponsePage(FaqPage.class);
}
});
//end of faq
//career link
add(new Link<String>("lnkCareers") {
@Override
public void onClick() {
setResponsePage(CareerPage.class);
}
});
//end of career
/*code for city selection*/
String defaultCity = "Hoboken";
if(ZipSession.get().getZipcode()!=null && ZipSession.get().getZipcode().length()>0){
if(ZipSession.get().getZipcode().equals("07030")){
defaultCity ="HOBOKEN";
}else{
defaultCity = ZipSession.get().getZipcode();
}
}
/* final Model<String> model = new Model<String>(defaultCity);
final Label currentCityLbl=new Label("currentLoc",model);
currentCityLbl.setOutputMarkupId(true);
currentCityLbl.setOutputMarkupPlaceholderTag(true);
add(currentCityLbl);
Hobokencity = new AjaxFallbackLink("Hobokencity") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Hoboken");
ZipSession.get().setZipcode("Hoboken");
model.setObject("Hoboken");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
JerseyCity = new AjaxFallbackLink("JerseyCity") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Jersey City");
ZipSession.get().setZipcode("Jersey City");
model.setObject("Jersey City");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
MidtownNYC = new AjaxFallbackLink("MidtownNYC") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Midtown NYC");
ZipSession.get().setZipcode("Midtown NYC");
model.setObject("Midtown NYC");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
add(Hobokencity);
add(JerseyCity);
add(MidtownNYC);*/
}
protected void mearchentListByCity(String city){
PageParameters pageParameters = new PageParameters();
try{
pageParameters.add("citySearch",true);
pageParameters.add("zipcode",city);
}catch(Exception e){
e.printStackTrace();
}
setResponsePage(HomePage.class, pageParameters);
}
protected final List<Component> getRefreshables() {
for (Component c : componentList) {
if (c != null) {
c.setOutputMarkupId(true);
c.setOutputMarkupPlaceholderTag(true);
}
}
componentList.add(lnkLogout);
componentList.add(lnkSettings);
componentList.add(lnkLogin);
componentList.add(lnkRegister);
/*componentList.add(lnkOrders);*/
componentList.add(lnkUser);
return componentList;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}
help me out from this........................... 帮我摆脱这个....................................
If I am calling the URL j.maxmind.com/js/geoip.js (without the double slashes like you have in your code), I'm just getting a site saying "Unauthorized". 如果我调用URL j.maxmind.com/js/geoip.js(没有像代码中那样的双斜杠),那么我只会得到一个说“未授权”的网站。
After browsing a bit the documentation of the site, you will find that each domain has to be registered to use this service. 浏览该站点的文档后,您将发现必须注册每个域才能使用此服务。 And I guess you just need to register your public IP / domain (or whatever they want to have).
我想您只需要注册您的公共IP /域(或他们想要的任何域)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.