【问题标题】:Getting Website URL using JS not working with https使用 JS 获取网站 URL 不适用于 https
【发布时间】:2013-11-26 10:04:39
【问题描述】:

我正在使用此 JS 代码来获取页面 url、标题并将它们发送到服务器以将它们存储在数据库中,就像您在浏览器工具栏中添加书签的按钮并在您打开的任何网站上单击它一样将获得网站的 URL 和 TITLE。

然而,这段代码运行良好,但它不适用于 (https) url

javascript:(function(){var jsScript=document.createElement('script');
jsScript.setAttribute('type','text/javascript');
jsScript.setAttribute('src', 'bookmark.php?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
document.getElementsByTagName('head')[0].appendChild(jsScript);
})();

它适用于所有 url 的除 (https) 链接以外的链接,例如
https://facebook.com
https://google.com

这种链接根本不起作用。

任何可以使它与 https 链接一起使用的改进?

提前致谢。

【问题讨论】:

  • 你用的是什么浏览器?您是否在调试器中检查了一些输出?有错误吗?能否提供一些其他信息。
  • 你总是会遇到获取 HTTPS URL 的问题,除非你发送数据的服务器也是 HTTPS...
  • @antindexer 我在所有主流浏览器上都尝试过 http 请求中没有错误 除了让 https 询问任何内容,我都会回答它
  • @bodi0 你的意思是我的服务器应该有 ssl 证书,这样我才能得到 https 链接?
  • chrome 中的调试器窗口怎么样?

标签: javascript url https get


【解决方案1】:

除非您发送数据的服务器也是 HTTPS,否则您在获取 HTTPS URL 时总是会遇到问题。您的服务器可能需要 SSL 证书才能完成任务。 但是,facebook、google 仍然启用了 http:// 访问,尽管此 URL 会自动转换为 https://,因此您可能能够获取其中一些请求。

编辑:这是因为所谓的Cross-Origin Resource Sharing (CORS)。

【讨论】:

    【解决方案2】:

    使用你所有的个人 js。不要从任何外部链接 js 和 css 中获取。 如果您的项目文件夹中包含所有 css 和 js,那么它将正常工作。 谢谢你

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 2020-03-26
      • 1970-01-01
      相关资源
      最近更新 更多