我正在使用优秀的滑块 OWL Carousel 2。http://www.owlcarousel.owlgraphic.com/
我的问题是该URLhashListener选项仅允许您创建指向特定幻灯片的链接,但不允许用户从当前幻灯片复制 url 链接进行共享。我假设此选项的正确行为是当用户移动到下一张幻灯片时 URL 更新,以便他们可以复制该唯一的 URL。
http://www.owlcarousel.owlgraphic.com/demos/urlhashnav.html
我的猫头鹰代码:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
var owl = $(".owl-carousel");
owl.owlCarousel({
smartSpeed:1500,
items:1,
lazyLoad:true,
loop:true,
URLhashListener:true,
startPosition: 'URLhash',
nav: true,
});
});
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
我在图像标签中使用它data-hash来为每个图像生成哈希 ID,效果很好(您可以链接到特定的幻灯片)。但是,当您单击next并到达下一张幻灯片时,URL 将保留为#HASHID。该链接不再对应于当前幻灯片。
<img id="zm" class="owl-lazy owlimg" data-hash="slideID" data-src="myimagelink.jpg">
Run Code Online (Sandbox Code Playgroud)
这是一个 url 哈希导航工作的实时页面:
http://www.legacyart.pinkpoliceman.com/collections/birds-of-prey/
带哈希:
http ://www.legacyart.pinkpoliceman.com/collections/birds-of-prey/#slide14
我确信这些文档包含了部分答案,但我不确定如何将它们拼凑在一起。http://www.owlcarousel.owlgraphic.com/docs/api-events.html
当我点击登录链接时,我会转到/login. 看起来像这个截图链接:
请注意在Session not found发出请求后给予我的 Angular 2 应用程序的响应。检查用户是否登录。这一切都很好。
但是当我刷新页面时,我收到以下错误Cannot GET /login链接到屏幕截图:
为了修复该错误,我在 Express 应用程序中添加了以下内容:
//We use this to avoid the error: Cannot GET /login
//but if we use this, then we can't receive a session on the Angular 2 app..
app.route('/*').get(function(req, res) {
return res.sendFile(path.join(__dirname, 'public/index.html'));
});
Run Code Online (Sandbox Code Playgroud)
现在我可以刷新页面而不会出现错误Cannot GET /login。但现在的问题是我收到以下错误:Unexpected token < in JSON at position 0当我的 Angular 2 应用程序想要检查用户是否登录时。这也是它的屏幕截图:
相反,我应该将错误作为响应 Session not found。但不幸的是,这并没有发生。
这是我的 Express 应用程序的代码:
应用程序.js:
var …Run Code Online (Sandbox Code Playgroud) 例如,我想使用相同的路径提交表单并根据表单的 ID 号显示表单的内容。
我想到了一个重新匹配的参数:
config.add_route('poll', '/poll/{id}*')
Run Code Online (Sandbox Code Playgroud)
已经足够了,但是不起作用。当 POST 方法完成时,我希望它加载显示结果的页面,但它会抛出 404 错误。
我有一个 Spring Boot UI 应用程序。我试图在登录后将用户重定向到最初请求的 URL。
当用户请求http://www.example.com/myapp/user/22 时,应用程序恰当地重定向到http://www.example.com/myapp/login。用户登录后,应用程序将重定向到http://www.example.com/myapp/dashboard。我希望应用程序重定向到http://www.example.com/myapp/user/22。
我浏览了几个链接,觉得我有一个正确的配置,但是重定向没有按预期工作。
我的安全配置是
public class SecurityConfig extends WebSecurityConfigurerAdapter {
.....
....
@Autowired
private MyAuthenticationSuccessHandler authenticationSuccessHandler;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.
authorizeRequests()
.antMatchers("/user/**").authenticated()
.and().csrf().disable().formLogin()
.successHandler(authenticationSuccessHandler)
......
Run Code Online (Sandbox Code Playgroud)
我的成功处理程序是
@Component
public class MyAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler {
...
public MyAuthenticationSuccessHandler() {
super();
this.setDefaultTargetUrl("/myapp/dashboard");
this.setUseReferer(true);
}
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
//Do something ..........
........
.........
super.onAuthenticationSuccess(request, response, …Run Code Online (Sandbox Code Playgroud) 我正在使用Angular 9。我需要在导航开始后立即知道哪个将是目标网址。我想做这样的事情:
constructor(router: Router) {
this.router = router;
}
this.router.events.pipe(
filter(event => event instanceOf NavigationStart),
map(event => {
//get somehow the destination url of this navigation just started
})
).subscribe()
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用 Angular Router来实现这一点?
使用Rails的路由,对于像这样的URL https://www.amazon.com/posts/1,可以使用这种方式来做
get \'posts/:url\', to: \'posts#search\', constraints: { url: /.*/ }\nRun Code Online (Sandbox Code Playgroud)\n使用go的gin框架,没有找到这样的路由的正则约束方法
\nr.GET("posts/search/:url", post.Search)\nRun Code Online (Sandbox Code Playgroud)\n在后置控制器中
\nfunc Search(c *gin.Context) {\n fmt.Println(c.Param("url"))\n}\nRun Code Online (Sandbox Code Playgroud)\n调用时http://localhost:8080/posts/search/https://www.amazon.com/posts/1,返回404代码。
就像https://play.golang.org/p/dsB-hv8Ugtn
\n\xe2\x9e\x9c ~ curl http://localhost:8080/site/www.google.com\nHello www.google.com%\n\xe2\x9e\x9c ~ curl http://localhost:8080/site/http://www.google.com/post/1\n404 page not found%\n\xe2\x9e\x9c ~ curl http://localhost:8080/site/https%3A%2F%2Fwww.google.com%2Fpost%2F1\n404 page not found%\n\xe2\x9e\x9c ~ curl http://localhost:8080/site/http:\\/\\/www.google.com\\/post\\/1\n404 page not found%\nRun Code Online (Sandbox Code Playgroud)\n 目前在我的ZF项目中有一个像这样的URL结构:
/news/index/news_page/1/blog_page/2
Run Code Online (Sandbox Code Playgroud)
当我生成我的分页时,我使用URL帮助程序,如下所示:
<?php echo $this->url(array('blog_page'=>3)); ?>
Run Code Online (Sandbox Code Playgroud)
哪个生成这样的URL:
/news/index/news_page/1/blog_page/3
Run Code Online (Sandbox Code Playgroud)
我想做的是使用自定义路由来获得更好的URL,如下所示:
new Zend_Controller_Router_Route(
'news/:news_page/:blog_page',
array('controller' => 'news', 'action' => 'index')
);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在视图助手中使用此路径时:
<?php echo $this->url(array('blog_page'=>3), 'newsIndex'); ?>
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误,因为我没有在params中指定news_page.
我怎样才能解决这个问题,并告诉网址助手使用这些参数的"当前"值?
我发现自己处境艰难.我们正在开发一个ASP.NET MVC 2应用程序,它由多个部分组成.将这些部分跨越多个子域是一个设计目标.每个子域都有自己的控制器.
挑战在于我们的托管服务提供商的控制面板允许两种形式的子域重定向,而且它们都不适合这个账单.选择是:
重定向到URL.选择是否重定向到相对于请求URL的确切目的地或目的地.
重定向到我的托管空间中的特定文件夹.
我将尝试说明预期的行为.假设默认路由是{controller}/{action}/{id},我希望URL http://subdomain.welcome.com/a/b由MVC应用程序处理http://welcome.com/subdomain/a/b.
URL重定向可以解决此问题,除了用户在浏览器中看到URL更改的事实.我们不希望客户端看到重定向发生.
重定向到我们的MVC应用程序根文件夹根本不起作用.该应用程序不会接收请求,IIS会传回4xx错误.
编辑:
为了找到答案,我会简化一下."重定向到URL"没有做我想要的,所以留下重定向到一个文件夹.
如果我将子域重定向到我的MVC应用程序的根文件夹并且IIS不会接收请求,这是IIS还是我的提供商的限制?
我想知道如何在网站中实现URL slug功能,而不会在URL中显示当前正在查看的记录的ID.
例如,StackOverflow URL如下所示:来自Url Slug的MVC动态视图.请注意,URL包含记录的ID.如果我要将此页面加入书签,并且由于某种原因记录的ID已更改,我将来无法查看此记录.
我想实现一个不依赖于记录ID的URL slug功能,所以它看起来像https://stackoverflow.com/questions/mvc-dynamic-views-from-url-slug.
你能否提供实现这一目标的步骤?你是否使用了唱片的标题并对其进行了缓和,保存了那个slug,再也没有改变它?
我正在寻找的示例网址是http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery -plugins.aspx(注意URL中没有ID)
谢谢!
我正在尝试创建SEO友好的路由。我有一个包含酒店和旅馆客房的网站。我想创建一个路由进度,以路由到不同的控制器/动作。
我希望我的网址看起来像 www.hotelwebsite.com/language/hotel-name/room-name
这是我需要的三条路线:
如果网址具有语言参数+ 2个参数:
$routes->connect('/:language/:hotelname/:room/', ['controller' => 'rooms', 'action' => 'viewRoom']);
Run Code Online (Sandbox Code Playgroud)
哪里
public function viewRoom($hotel_slug, $room_slug)
Run Code Online (Sandbox Code Playgroud)
在其中
:hotelname == $hotel_slug and :room == $room_slug
Run Code Online (Sandbox Code Playgroud)
如果网址具有语言参数+ 1参数:
$routes->connect('/:language/:hotelname/', ['controller' => 'hotels', 'action' => 'viewHotel']);
Run Code Online (Sandbox Code Playgroud)
哪里
public function viewHotel($hotel_slug)
Run Code Online (Sandbox Code Playgroud)
在其中
:hotelname == $hotel_slug
Run Code Online (Sandbox Code Playgroud)
否则使用我的标准路线
$routes->connect('/:language/:controller/:action/*');
Run Code Online (Sandbox Code Playgroud)
这甚至可以实现吗?
url-routing ×10
angular ×2
javascript ×2
angular9 ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
cakephp ×1
cakephp-3.0 ×1
cakephp-3.3 ×1
cakephp-3.x ×1
express ×1
frameworks ×1
go ×1
jquery ×1
node.js ×1
owl-carousel ×1
php ×1
pyramid ×1
python ×1
regex ×1
routes ×1
slug ×1
spring-boot ×1
url ×1