我有一个新的Android Xamarin解决方案。我想在WebView中嵌入一个执行js脚本的HTML页面。我在Android资产中添加了这个html和这个js页面。
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="App1.MainPage">
<StackLayout>
<Frame BackgroundColor="#2196F3" Padding="24" CornerRadius="0">
<Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/>
</Frame>
<Label Text="Start developing now" FontSize="Title" Padding="30,10,30,10"/>
<Label Text="Make changes to your XAML file and save to see your UI update in the running app with XAML Hot Reload. Give it a try!" FontSize="16" Padding="30,0,30,0"/>
<Label FontSize="16" Padding="30,24,30,0">
<Label.FormattedText>
<FormattedString>
<FormattedString.Spans>
<Span Text="Learn more at "/>
<Span Text="https://aka.ms/xamarin-quickstart" FontAttributes="Bold"/>
</FormattedString.Spans>
</FormattedString>
</Label.FormattedText>
</Label>
<WebView x:Name="webView" WidthRequest="1000" HeightRequest="1000" />
</StackLayout>
</ContentPage>
MainPage.xaml.cs
using Xamarin.Forms;
namespace App1
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
webView.Source = "file:///android_asset/titi.html";
}
}
}
titi.html
<html>
<body>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<h1>Webview Test</h1>
<br />
Enter name: <input type="text" id="name">
<br />
<br />
<button type="button" onclick="javascript: displayName($('#name').val());">Test Button</button>
<br />
<p id="result">Result:</p>
<script src="./titi.js"></script>
</body>
</html>
titi.js
function displayName(str) {
try {
$('#result').text($('#result').text() + " " + str);
}
catch (err) {
log(err);
}
}
当我点击按钮时,HTML页面正确显示,但js部分未执行。
你能帮我疏通一下吗?
1条答案
按热度按时间polkgigr1#
如果我不在js文件中使用jquery,它就可以工作。