【问题标题】:Redirecting URLS from page document text从页面文档文本重定向 URL
【发布时间】:2016-05-03 07:57:31
【问题描述】:

所以我正在开发一个用户脚本,我正在尝试找到最简单的解决方法,因为我对 Javascript 编码非常陌生...我正在尝试执行/编码一个将打开的函数指定的网址:

示例:主页(“http://www.EXAMPLE.com”) (页面可以以 'Window.open' = Blank 或 _self 的形式打开);

...当打开的父 URL 或(当前)URL 示例:innner.href = ("www.EXAMPLE.com/new/01262016/blah/blah/blah");

...在 HTML 文档页面上有一段文字,内容如下: 来自页面的示例文本(“www.EXAMPLE.com/new/01262016/blah/blah/blah”);: "页面到此结束,请刷新返回首页"

(TEXT:不是真正的关键字,但想使用相位作为setTimeout函数返回的检测。)

任何帮助都会非常感激,你们在这里提供了非常丰富的信息。提前致谢。

【问题讨论】:

    标签: javascript php jquery href userscripts


    【解决方案1】:

    我想我有你问题的要点。使用 JavaScript 扫描页面的整个文本内容以查找特定关键字是一项简单但非常密集的任务。但是,如果关键字出现多次(在不应重定向的多个页面上),那么您的用户将得到不希望的结果。

    一个简单的解决方案是将class="last-page" 属性添加到最后一页的body-tag 并运行一个检查这个的函数。有点像....

    HTML

    <body class="last-page"><!--page content--></body>
    

    JS

    window.onload = function() {
       var interval = 5000; // five seconds
       if (document.body.classList.contains('last-page')) {
         setTimeout(function() {
            window.location.assign('http://the-next-page.com/');
          }, interval);
      }
    };
    

    或者,如果您能够将指定文本包装在唯一标识的html-tag 中,例如...

    <span id="last-page">EXAMPLE TEXT</span>
    

    ...然后可以在每次页面加载时检查此标签的存在 - 类似于上面的功能:

    window.onload = function() {
      var interval = 5000;
      if (document.getElementById('last-page') {
        setTimeout(/* code as before */);
      }
    };
    

    另一种解决方案是根据变量检查页面 URL...

    window.onload = function() {
      var finalURL = 'http://the-last-page.com/blah/...';
      if (window.location === finalURL) {
        /* same as before */
      }
    };
    

    如果这种事情不是一个选项,请留下评论,我将添加一个功能,收集页面的整个文本内容并将相邻的单词与一组预定义的键进行比较。

    【讨论】:

    • 哈哈,是的,非常感谢。我通常给我的帖子一个 24windows,这是我现在第一次阅读这篇文章,并确保做出更正
    • 好的,所以它没有工作......其中任何一个。我认为这是因为它不是我正在编码的 .js,而是一个用户脚本。我在用户脚本上的编码开始为:==UserScript=== Window.open = var urlsToLoad = [ setTimeout = Function to GoToNextURL
    • 它不允许我编辑我的帖子:这是完整的帖子:好的,所以它没有工作......其中任何一个。我认为这是因为它不是我正在编码的 .js,而是一个用户脚本。我在用户脚本上的编码开始为:@info for Userscript ==UserScript=== Window.open = var urlsToLoad = [ setTimeout = GoToNextURL 的函数它不识别 、。唯一有效的是您在示例的 JS 部分中添加的内容,HTML 部分会导致检查模式下的错误。
    • 有没有办法让它变得可识别?我很乐意将我的用户脚本发送给您以查看或设置 Teamviewer 会议,因为我是编码新手。
    • @Bagnar 您的页面使用什么平台?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2012-10-15
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    相关资源
    最近更新 更多