navTo.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const togo = function (url, data) {
  2. url += (url.indexOf("?") < 0 ? "?" : "&") + param(data);
  3. uni.navigateTo({
  4. url: url,
  5. });
  6. };
  7. export function param(data) {
  8. let url = "";
  9. for (var k in data) {
  10. let value = data[k] !== undefined ? data[k] : "";
  11. url += "&" + k + "=" + encodeURIComponent(value);
  12. }
  13. return url ? url.substring(1) : "";
  14. }
  15. export function getQueryString(name) {
  16. const url = location.search; //获取url中"?"符后的字串
  17. let theRequest = new Object();
  18. if (url.indexOf("?") != -1) {
  19. let str = url.substr(1);
  20. let strs = str.split("&");
  21. for (let i = 0; i < strs.length; i++) {
  22. theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
  23. }
  24. }
  25. if (name) {
  26. return theRequest[name];
  27. }
  28. return theRequest;
  29. }
  30. // webview打开缩放
  31. export function metaSetScalable(type = "yes") {
  32. let setContent = "";
  33. let meta = document.querySelector("meta[name='viewport']");
  34. const content = meta.getAttribute("content");
  35. if (type == "yes") {
  36. if (!content.includes("user-scalable=no")) {
  37. return;
  38. }
  39. setContent = "width=device-width, initial-scale=1.0, minimum-scale=1.0";
  40. } else {
  41. if (
  42. content.includes("user-scalable") &&
  43. content.includes("user-scalable=no")
  44. ) {
  45. return;
  46. }
  47. var coverSupport =
  48. "CSS" in window &&
  49. typeof CSS.supports === "function" &&
  50. (CSS.supports("top: env(a)") || CSS.supports("top: constant(a)"));
  51. setContent = `width=device-width, initial-scale=1.0, user-scalable=no, initial-scale=1.0, maximum-scale=1.0${
  52. coverSupport ? ", viewport-fit=cover" : ""
  53. }`;
  54. }
  55. meta.content = setContent;
  56. }
  57. export { togo };