javascript代码在chrome移动浏览器中不起作用,但在桌面上它工作正常

Posted

技术标签:

【中文标题】javascript代码在chrome移动浏览器中不起作用,但在桌面上它工作正常【英文标题】:java script code not working in chrome mobile browser but in desktop its working fine 【发布时间】:2021-08-20 06:36:39 【问题描述】:

在我的 WordPress 网站中,我创建了 java bootstrap 贷款计算器,它在桌面上完美运行,但是当我使用移动 chrome 时它无法运行。我尝试使用 wp-coder 插件并尝试手动添加它。在 chrome dev tools mobile 中查看它的工作正常与真正的设计发生了这个问题。有没有办法解决这个问题我非常感谢你帮助解决这个问题

  <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"
    />



        <div class="columns is-12-tablet is-6-desktop is-3-widescreen" style="height: 500px; width:100% " >
          <div class="column w-50 p-3 "  >
            <div class="card w-50 p-3">
              <div class="card-content w-50 p-3">
                <form id="loan-form">
                  <div class="level w-50 p-3">
               
                    <div class="level-left is-marginless w-50 p-3s">
                      <div class="level-item">
                        <p class="number">1</p>
                         <p> Loan Amount  &nbsp;&nbsp;&nbsp;</p>
                        <p id="yearssliderfuc">  </p>
                      </div>
                    </div>
                  </div>
          <input  id="amount"   type="range" min="20000" max="200000" step="10000"   onchange="yrthslide();computeResults()" />
                  <div class="level">
                    <div class="level-left is-marginless">
                    </div>
                    <div class="level-right">
                      <div class="level-item">
                        <div class="field">
                          <div class="control has-icons-right">
                            
                            <span class="icon is-small is-right">
                          
                              
                            </span>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="level">
                    <!-- Left side -->
                    <div class="level-left is-marginless">
                      <div class="level-item">
                        <p class="number">2</p>
                       <p> Number Of Days  &nbsp;&nbsp;&nbsp;</p>
                        <p id="monthssliderfuc">  </p>
                      </div>
                    </div>

                  </div>
           <input  id="years" min="30" max="120" step="30" type="range" onchange="monthslide();computeResults()" />
                  <div class="control">
          <br>
               
                  </div>
                </form>

              </div>
            </div>
      <div >
        <div class="notification is-link has-text">
          <p id="totalPayment" class="title ">LKR</p>
          <p class="subtitle is-4">Total Amount</p>
        </div>
      </div>
        <div >
          </div>    
        </div>


  


  <script >
function computeResults(e) 
  // UI

  const UIamount = document.getElementById("amount").value;
/*   var UIinterest = 50
  if(UIamount> 50)
    var UIinterest = 50
  */


  if(UIamount<50000)
    var UIinterest = 16/100;
  else if(UIamount>50000 && amount<90000)
    UIinterest = 18/100;
  else if(UIamount>100000 && amount<140000)
    UIinterest = 20/100;
  else
    UIinterest = 22/100
  



  const UIyears = document.getElementById("years").value;





  var interestperday = (UIamount * UIinterest)/365;
  console.log(interestperday);
  console.log("interest per day");
  const monthly = parseFloat(interestperday);
  const monthlyPayment = monthly.toFixed(2);


  var interest = interestperday*UIyears;
  const interestfinalee = parseFloat(interest);
  console.log(interestfinalee);
  console.log("interest  all time");



  var ProFees =  (UIamount*10)/100;
  const ProFeesfin = parseFloat(ProFees);
  console.log(ProFeesfin);
  console.log("ProFees");

  var DocHFees = (UIamount*5)/100;
const DocHFeesfin = parseFloat(DocHFees);
  console.log(DocHFeesfin);
  console.log("DocHFees");

  var TransFee =  (UIamount*5)/100;
  const TransFeefin = parseFloat(TransFee);
  console.log(TransFeefin);
  console.log("TransFee");
  
  const UIamountfin = parseFloat(UIamount);


  // Calculating total payment
const all = TransFeefin + DocHFeesfin + ProFeesfin  + interestfinalee + UIamountfin
  console.log(all);
  console.log("allallallallallallallallallallallallallall");
///*****************************************************


  const totalPayment = all.toFixed(2);



  document.getElementById("totalPayment").innerhtml = "LKR " + totalPayment;

  e.preventDefault();



       
      function monthslide()
            var Monthslider = document.getElementById("years").value
          document.getElementById("monthssliderfuc").innerHTML = Monthslider;
      


             
      function yrthslide()
            var Monthslider = document.getElementById("amount").value
          document.getElementById("yearssliderfuc").innerHTML = Monthslider;
      
 
 
  </script>

【问题讨论】:

移动版 Chrome 有什么问题?你只是说“它不工作”,你期望代码做什么,而不是做什么? Java 与这个问题有什么关系? 值在 chrome 移动浏览器中没有更新 请在问题本身中详细解释。 【参考方案1】:

您正在使用“computeResults()”函数,但“computeResults()”函数未定义且未使用“Calculate()”函数。

更新:在代码更新后添加其他细节:

e.preventDefault() 函数未定义并产生问题,我将其删除,它已在移动设备中运行。

【讨论】:

好的,我在回答中添加了更多细节。【参考方案2】:

问题已解决。 这是因为在更改其解析的函数名称后,移动视图和桌面视图的函数名称相同

【讨论】:

以上是关于javascript代码在chrome移动浏览器中不起作用,但在桌面上它工作正常的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Javascript 在移动 Safari 和所有其他浏览器上录制音频?

Chrome 浏览器垃圾回收机制与内存泄漏分析(未完成)

在 chrome (android) 上隐藏移动浏览器地址栏

将移动浏览器深度链接到本机应用程序 - 未安装应用程序时的 Chrome 问题

移动 iOS 和 Android Safari/Chrome 之间的 JavaScript 差异

Javascript地理定位不适用于更新的android chrome