【问题标题】:jQuery open external url and manipulate DOMjQuery 打开外部 url 并操作 DOM
【发布时间】:2017-01-21 07:43:55
【问题描述】:

我正在尝试打开一个外部 url(在我们的网络之外)并显示一个隐藏的 div(用于视频播放)。

我的 HTML 代码:

<div id="myDiv">
    <input type="button" id="myButton" value="Watch Career Video"></input>
</div>

我的 JS 代码:

$(document).ready(function() {

     $("#myDiv").on('click', '#myButton', function() {

         //re-direct to career video url
         window.location.href = "https://www.mynextmove.org/profile/summary/13-2021.02";

        //show video div area ** THIS DOES NOT WORK ?? **
        $('#careervid-wrapper').show();

    });

});

具体来说,我怎样才能显示“careervid-wrapper”?我需要使用 AJAX 吗?跨域策略解决方法?弃船?

  • URL 可以在新标签页或新窗口中打开,没关系。
  • 当我尝试使用 AJAX 时,我无法让 ajax 成功运行。

您可以在此处查看 JSFiddle: https://jsfiddle.net/aussiejoe/njhsxmq7/

【问题讨论】:

  • “弃船?” - 除非其他站点明确愿意合作:是的。因为同源策略阻止您在任何新选项卡/窗口/框架中访问来自不同来源的内容,并且如果没有其他站点启用 CORS,您也无法使用 AJAX 来获取内容。
  • @CBroe 他们可能会将我们添加到他们的 CORS 政策中。这是一个远景,但它是一种可能性。
  • 假设代码中的站点是真实的,mynextmove.org/help/about 说,“此处列出的职业以及除下面列出的职业信息之外的职业信息来自 O*NET Database 的 21.1 版本." 多点击一下会转到O*NET® Web Services - 也许您可以通过这种方式获得所需的数据,另外还有一个好处是它可能经过适当的结构化,这样您就不必解析它了的源代码。另外,似乎也是免费的。
  • @CBroe 是的,我们为该访问提供了付费订阅。这个想法是希望避免编写任何代码,而只是直接热链接到页面。我认为让他们将我们添加到他们的 CORS 政策中不会有问题,但目前我不能肯定地说。
  • 我假设您正在尝试访问 iframe 中的某些内容?您不会显示正在运行的 HTML。如in this answer 所示,如果不在同一个域中,则不能。而 CORS 也无济于事;有关其工作原理的更多信息,请参阅this answer...

标签: javascript jquery html external


【解决方案1】:

弃船?

除非其他网站明确愿意合作:是的。

因为同源策略阻止您在任何新选项卡/窗口/框架中访问来自不同来源的内容,并且如果其他站点未启用 CORS,您也无法使用 AJAX 获取内容。

【讨论】:

    【解决方案2】:

    在 jQuery 或普通 Javascript 中没有很好的方法来处理这种东西! 我建议你为你的项目学习 python,因为 python 有一些很棒的模块来处理请求和解析 html 代码。

    urllibrequestsBeautifulSoup、……

    【讨论】:

      猜你喜欢
      • 2017-01-02
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 2019-09-18
      • 2014-04-05
      • 1970-01-01
      相关资源
      最近更新 更多